У меня есть служба 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 было 'Type' TrailAlarmService.TrialAlarmService + AlarmEventArgs 'с контрактом данныхname 'TrialAlarmService.AlarmEventArgs: http://schemas.datacontract.org/2004/07/TrailAlarmService' не ожидается.
Я получаю подсказку, что это не лучшее решение, но мне нужно иметь возможность передать универсальный EventArgs.