C# 如果成员具有回调实现,io如何调用成员
我有一个服务对象,它的方法具有下面提到的回调实现C# 如果成员具有回调实现,io如何调用成员,c#,wcf,reflection,duplex-channel,C#,Wcf,Reflection,Duplex Channel,我有一个服务对象,它的方法具有下面提到的回调实现 public string GetMacName() { string value = System.Environment.MachineName.ToString(); msgCallback = OperationContext.Current.GetCallbackChannel<IServiceCallBack>(); msgCallback.Notify(value); return value; } 我正在调用方法G
public string GetMacName()
{
string value = System.Environment.MachineName.ToString();
msgCallback = OperationContext.Current.GetCallbackChannel<IServiceCallBack>();
msgCallback.Notify(value);
return value;
}
我正在调用方法GetMacName(),如下所述:
t.Invoke("GetMacName", BindingFlags.Default | BindingFlags.InvokeMethod, null, proxyObject, args);
这是失败的。。。我错了,是不是需要在Invoke中为回调做点什么。。。[CallbackBehavior(ConcurrencyMode=ConcurrencyMode.Multiple,UseSynchronizationCon需要为wpf或winform应用程序添加text=false)]属性,这与同步上下文有关。感谢您的输入。为什么您不能调用proxyObject.GetMacName()?将异常堆栈跟踪添加到您的问题中。事实上,这就是要求,我需要传递方法名称并从对象动态调用,奇怪的是,我创建了一个单独的项目,它正在工作。。。。相同的代码。。。感谢您的输入,需要检查问题出在哪里:(工作正常…[CallbackBehavior(ConcurrencyMode=ConcurrencyMode.Multiple,UseSynchronizationContext=false)]属性需要为wpf或winform应用程序添加,这与同步上下文有关。
public string Notify(string value)
{
Notification=value;
}
t.Invoke("GetMacName", BindingFlags.Default | BindingFlags.InvokeMethod, null, proxyObject, args);