Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果成员具有回调实现,io如何调用成员_C#_Wcf_Reflection_Duplex Channel - Fatal编程技术网

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);