我有一个服务对象,它的方法具有下面提到的回调实现
public string GetMacName()
{
string value = System.Environment.MachineName.ToString();
msgCallback = OperationContext.Current.GetCallbackChannel<IServiceCallBack>();
msgCallback.Notify(value);
return value;
}
我创建了一个 DuplexChannelfactory 并在我的客户端中获取了服务对象。现在,我使用服务对象检索类型作为客户端:
DuplexChannelFactory<IServiceOne> factory = new DuplexChannelFactory<IServiceOne>(callbackInstance, new NetTcpBinding(), "uri");
proxyObject = factory.CreateChannel(); Type t= proxyObject.GetType();
我已经在客户端实现了 IServiceOneCallback 方法
public string Notify(string value)
{
Notification=value;
}
我正在调用 GetMacName() 方法,如下所述:
t.Invoke("GetMacName", BindingFlags.Default | BindingFlags.InvokeMethod, null, proxyObject, args);
这正在失败......我错了,是回调需要在 Invoke 中完成