客户端
我的客户得到了以下回调合同:
[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>(){}
所有工作都很好,这意味着当服务器使用 methodinfo.invoke 并显示 mbox 时调用 myClass.OnEvent
但
当我尝试发送myObjects = new List<myobject>(){new MyDerivedObject()}
时它不起作用意味着当服务器使用 methodinfo.invoke 并且不显示mbox 时不调用 myClass.OnEvent
服务器和客户端都包含对具有 myObject 和 MyDerivedObject 的 myObject DLL 的引用 MyDerivedObject 当然是从 myObject 派生的
请帮忙