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类型,问题便可迎刃而解。



     

  • 相关阅读:
    SparkSql初级编程实践
    云时代架构之苏宁安全架构演进及实践
    云时代架构之知乎网站架构变迁史
    质量属性的六个常见属性场景之《淘宝网》
    云时代架构之游戏服务器的架构演进
    《架构漫谈阅读心得》
    转换后缀表达式
    约瑟夫环(改进3.0)
    栈结构之后缀表达式
    约瑟夫环(改进2.0)
  • 原文地址:https://www.cnblogs.com/tgcoy/p/2378218.html
Copyright © 2011-2022 走看看