zoukankan      html  css  js  c++  java
  • WCF中的自定义类中包括自定义枚举类型时出错

    现有自定义类型EventLogItem:

    View Code
    public class EventLogItem
    {
    public int EventID
    {
    get;
    set;
    }
    public EventLevel EventType
    {
    get;
    set;
    }
    public string EventTime
    {
    get;
    set;
    }
    public string EventTask
    {
    get;
    set;
    }
    public string EventUser
    {
    get;
    set;
    }
    public string EventSource
    {
    get;
    set;
    }
    public string EventIP
    {
    get;
    set;
    }
    public string EventMessage
    {
    get;
    set;
    }
    }

    自定义枚举类型EventLevel:

    View Code
    public enum EventLevel
    {
    Warning,
    Infomation
    }

    WCF中定义的函数:

    View Code
    //sqlCore.getUserLogs()返回类型为List<EventLogItem>
    [OperationContract]
    public List<EventLogItem> getLogs()
    {
    SqlCore sqlCore = new SqlCore();
    return sqlCore.getUserLogs();
    }

    现在客户端调用WCF服务中的方法:

    View Code
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
    SeAdminSvc.SeAdminClient client = new SeAdminSvc.SeAdminClient();
    client.getLogsCompleted+=new EventHandler<SeAdminSvc.getLogsCompletedEventArgs>(client_getLogsCompleted);
    client.getLogsAsync();
    }
    private void client_getLogsCompleted(object sender, SeAdminSvc.getLogsCompletedEventArgs e)
    {
    dataGrid.ItemsSource = null;
    dataGrid.AutoGenerateColumns = true;
    dataGrid.ItemsSource = e.Result;
    }

    编译后运行程序,将会收到一个异常:  “e.Result”引发了“System.Reflection.TargetInvocationException”类型的异常

    其实这就是由于自定义枚举类型导致的,如果将自定义枚举类型换成String类型,问题便可迎刃而解。



     

  • 相关阅读:
    动态规划 简单的分割问题的解决方案钢棒
    SICP 1.20经验
    辛星一起了解下后续PHP性能功能
    汽车之家购买价格PC真正的原因阿拉丁
    可怜,的分母。
    [ACM] poj 1064 Cable master (二进制搜索)
    从Access创建Sqlite数据库
    变化的阅读程序猿自学习
    ArcEngine载入中SDE问题栅格数据
    pinyin4j新手教程
  • 原文地址:https://www.cnblogs.com/tgcoy/p/2378218.html
Copyright © 2011-2022 走看看