СТОРОНА КЛИЕНТА
мой клиент получил следующий контракт обратного вызова:
[ServiceContract]
interface IEvent
{
[OperationContract(IsOneWay = true)]
void OnEvent(string serverName, string changeType, List<myObject> myObjects);
}
и получил класс, реализующий IEvent следующим образом:
class myClass : IEvent{
public void OnEvent(string serverName, string changeType, List<myObject> myObjects)
{
MessageBox.Show(@"Event Called: " + changeType + @" occured at: " + serverName + @" got " + myObjects.Count + " myObjects!");
}
}
СТОРОНА СЕРВЕРА
мой сервер получил следующий код публикации:
methodInfo.Invoke(client, new object[] {serverName, changeType, myObjects});
Проблема
Когда я использую methodInfo.Invoke с myObjects = new List<myobject>(){}
, все работает нормально, т.е. myClass.OnEvent вызывается, когда сервер использует methodinfo.invoke и mbox отображается
НО
, когда я пытаюсь отправить myObjects = new List<myobject>(){new MyDerivedObject()}
, это не работает, означая myClass.OnEvent NOT вызывается, когда сервер использует methodinfo.invoke, а mbox отображается NOT
и сервер, и клиент содержат ссылки на myObject DLL, в которой есть как myObject, так и MyDerivedObjectкурс, полученный из myObject
Помогите пожалуйста