RemotingServices.IsTransparentProxy メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim proxy As Object Dim returnValue As Boolean returnValue = RemotingServices.IsTransparentProxy(proxy)
戻り値
proxy パラメータで指定したオブジェクトが、透過プロキシまたは実際のオブジェクトのどちらであるかを示す Boolean 値。

あらゆる種類のリモート処理の境界を越えてオブジェクトを使用するクライアントは、実際にはそのオブジェクトの透過プロキシを使用しています。透過プロキシは、実際のオブジェクトがクライアントの領域に格納されているような印象を与えます。これは、リモート処理インフラストラクチャを使用して、自らに対する呼び出しを実際のオブジェクトに転送することによって実現されます。
透過プロキシ自体は、RealProxy 型のマネージ ランタイム クラスのインスタンスに格納されます。RealProxy は、透過プロキシから操作を転送するために必要な機能の一部を実装します。プロキシ オブジェクトは、ガベージ コレクション、メンバやメソッドのサポートなど、マネージ オブジェクトに関連付けられたセマンティクスを継承します。また、プロキシ オブジェクトを拡張して新しいクラスを形成できます。したがって、プロキシは二重の性質を持っています。一方はリモート オブジェクト (透過プロキシ) と同じクラスのオブジェクトとして機能する必要がある性質であり、もう一方はマネージ オブジェクト自体の性質です。
プロキシ オブジェクトは、AppDomain 内のリモート処理サブ区分を考慮せずに使用できます。アプリケーションは、プロキシ参照とオブジェクト参照を区別する必要がありません。ただし、アクティベーション、有効期間の管理、トランザクションなどの問題を扱うサービス プロバイダは、このような区別を行う必要があります。

IsTransparentProxy メソッドを使用して、オブジェクトがプロキシまたは実際のオブジェクトのどちらであるかを判断する方法を次のコード例に示します。プログラム例の全体については、AsyncResult クラスのトピックの例を参照してください。
' Creates an instance of a context-bound type SampleSynchronized. Dim sampSyncObj As New SampleSyncronized() ' Checks whether the object is a proxy, since it is context-bound. If RemotingServices.IsTransparentProxy(sampSyncObj) Then Console.WriteLine("sampSyncObj is a proxy.") Else Console.WriteLine("sampSyncObj is NOT a proxy.") End If
// Creates an instance of a context-bound type SampleSynchronized. SampleSyncronized sampSyncObj = new SampleSyncronized(); // Checks whether the object is a proxy, since it is context-bound. if (RemotingServices.IsTransparentProxy(sampSyncObj)) Console.WriteLine("sampSyncObj is a proxy."); else Console.WriteLine("sampSyncObj is NOT a proxy.");
// Creates an instance of a context-bound type SampleSynchronized. SampleSyncronized^ sampSyncObj = gcnew SampleSyncronized; // Checks whether the Object* is a proxy, since it is context-bound. if ( RemotingServices::IsTransparentProxy( sampSyncObj ) ) Console::WriteLine( "sampSyncObj is a proxy." ); else Console::WriteLine( "sampSyncObj is NOT a proxy." );
// Creates an instance of a context-bound type SampleSynchronized. SampleSyncronized sampSyncObj = new SampleSyncronized(); // Checks whether the object is a proxy, since it is context-bound. if (RemotingServices.IsTransparentProxy(sampSyncObj)) { Console.WriteLine("sampSyncObj is a proxy."); } else { Console.WriteLine("sampSyncObj is NOT a proxy."); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からRemotingServices.IsTransparentProxy メソッドを検索する場合は、下記のリンクをクリックしてください。

- RemotingServices.IsTransparentProxy メソッドのページへのリンク