你好
我用DuplexChannelFactory创建WCF客户端,问题是当我这样做时:
((ICommunicationObject)this.GetMyServiceInterfaceChannel).State
我收到以下异常:
无法获取类型'System.ServiceModel.ICommunicationObject'的实例上的字段或调用方法,因为它是远程对象的代理。
为什么?
我需要检查通道是否有故障。
编辑1:
ClientService clientService = new ClientService();
InstanceContext context = new InstanceContext(clientService);
DuplexChannelFactory<My.ServiceContracts.IMyClientService> factory = new DuplexChannelFactory<My.ServiceContracts.IMyClientService>(context, connectionName);
factory.Credentials.UserName.UserName = anvandarNamn;
factory.Credentials.UserName.Password = password;
return factory.CreateChannel();
最佳答案
投射为IClientChannel,然后检查状态
但是请注意,只有在您拨打电话时,状态才会更新。如果要测试通道是否超时,则只有在发出引发异常的调用后才有可能。
关于c# - ICommunicationObject.State不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10085779/