0

(ICommunicationObject)proxy).State 给出错误“无法在 'System.ServiceModel.ICommunicationObject' 类型的实例上获取字段或调用方法,因为它是远程对象的代理”

我尝试使用 IClientChannel 但仍然遇到相同的错误。这就是我创建工厂的方式

IPositionActions positionProxy;

ChannelFactory<IPositionActions> factory = new ChannelFactory<IPositionActions>(Binding, String);

positionProxy = factory.CreateChannel();

我想访问状态以检查该通道的故障状态 ChannelFactory 的状态是打开的,即使 ClientChannel 不是。所以,我想检查 ClientChannel 的状态,positionProxy。但我无法访问该州。

调试时,我能够得到这样的状态。但是 ServiceChannelProxy 和 System.Runtime.Remoting.Proxies.__TransparentProxy 不可用,因为它们是私有的。

"((System.ServiceModel.Channels.CommunicationObject)(((System.ServiceModel.Channels.ServiceChannelProxy)((((System.Runtime.Remoting.Proxies.__TransparentProxy)(connectionManager.PositionProxy)))._rp)).serviceChannel) )。状态”

如果有任何访问状态的想法,请建议我。

谢谢你。

4

0 回答 0