0

(ICommunicationObject)proxy).State は、「リモート オブジェクトへのプロキシであるため、タイプ 'System.ServiceModel.ICommunicationObject' のインスタンスでフィールドを取得したり、メソッドを呼び出したりできません」というエラーを返します。

IClientChannel を使用してみましたが、それでも同じエラーが発生しました。これが私が工場を作った方法です

IPositionActions positionProxy;

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

positionProxy = factory.CreateChannel();

状態にアクセスして、その Channel の Faulted 状態を確認したい ClientChannel が開いていなくても、ChannelFactory の状態は開いています。そこで、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