我有一个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。