WCF将EventArgs作为数据成员传递

时间:2018-10-15 16:07:59

标签: c# wcf serialization datacontract datamember

我有一个WCF服务,该服务应该能够传递收到的任何事件参数。由于我不知道将要接收的EventArg的类型,因此我需要确保将对象传递给客户端。
我有以下DataContract:

[DataContract]
[KnownType(typeof(EventArgs))]

public class EventProxy
{
    [DataMember]
    public EventArgs EventArgs { get; set; }

    [DataMember]
    public string EventName { get; set; }

    [DataMember]
    public string Sender { get; set; }

    [DataMember]
    public string Target { get; set; }
}

当我将此信息传递给客户端时,会出现以下异常:

  

尝试序列化参数http://tempuri.org/:data时出错。 InnerException消息是“类型'TrailAlarmService.TrialAlarmService + AlarmEventArgs',数据协定名称为'TrialAlarmService.AlarmEventArgs:http://schemas.datacontract.org/2004/07/TrailAlarmService”。

我得到的提示是这不是最佳解决方案,但是我需要能够传递通用的EventArgs。

0 个答案:

没有答案