つまり、TransparentProxy またはローカル オブジェクトへの参照があるかどうかをどのように判断すればよいのでしょうか?
2 に答える
5
RemotingServicesにあるIsTransparentProxyメソッドを見てください。
于 2012-01-19T23:09:51.427 に答える
0
この楽しいちょっとしたトリックを試してみてください:
bool fIsTransparentProxy = ((myTransparentObject as MarshalByRefObject) == null);
透過プロキシをMarshalByRefObjectに変換しようとすると、nullが返されました。これをVBでテストしました。これは、すべてのプロキシが存在する場所だからですが、C#でも同じ動作が当てはまるといいのですが。
また、Visual Studioデバッガーはどちらがどれであるかを認識していますが、同じ結果を生成するコードを取得する方法がわかりませんでした(VSのTPオブジェクトにカーソルを合わせるSystem.Runtime.Remoting.Proxies.__TransparentProxy
と、クラスタイプとして表示されますが、これは内部で封印されたクラスです)。
于 2012-01-11T02:27:38.243 に答える