RemotingServices.IsTransparentProxy(Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí logickou hodnotu, která označuje, zda daný objekt je transparentní proxy nebo skutečný objekt.
public:
static bool IsTransparentProxy(System::Object ^ proxy);
public static bool IsTransparentProxy(object proxy);
static member IsTransparentProxy : obj -> bool
Public Shared Function IsTransparentProxy (proxy As Object) As Boolean
Parametry
- proxy
- Object
Odkaz na objekt, který chcete zkontrolovat.
Návraty
Logická hodnota, která označuje, zda je objekt zadaný v proxy parametru transparentní proxy nebo skutečný objekt.
Příklady
Následující příklad kódu ukazuje použití IsTransparentProxy metody k určení, zda je objekt proxy nebo skutečný objekt. Úplný ukázkový kód najdete v příkladu AsyncResult třídy.
// Creates an instance of a context-bound type SampleSynchronized.
SampleSynchronized^ sampSyncObj = gcnew SampleSynchronized;
// 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.
SampleSynchronized sampSyncObj = new SampleSynchronized();
// 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.
Dim sampSyncObj As New SampleSynchronized()
' 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
Poznámky
Klient, který používá objekt napříč jakýmkoli druhem hranice vzdálené komunikace, ve skutečnosti používá transparentní proxy pro objekt. Transparentní proxy server dává dojem, že se skutečný objekt nachází v prostoru klienta. Dosahuje toho přesměrováním volání provedených na skutečný objekt pomocí infrastruktury vzdálené komunikace.
Transparentní proxy server se nachází v instanci spravované třídy modulu runtime typu RealProxy. Implementuje RealProxy část funkce potřebné k předávání operací z transparentního proxy serveru. Objekt proxy dědí přidruženou sémantiku spravovaných objektů, jako je uvolňování paměti, podpora členů a metod a lze jej rozšířit tak, aby vytvořily nové třídy. Proxy tedy má duální povahu; na jedné straně musí fungovat jako objekt stejné třídy jako vzdálený objekt (transparentní proxy) a na druhé je spravovaný objekt sám.
Objekt proxy lze použít bez ohledu na jakékoli subdivisions v rámci AppDomain. Aplikace nemusí rozlišovat mezi odkazy na proxy server a odkazy na objekty. Poskytovatelé služeb, kteří se zabývají problémy, jako je aktivace, správa životnosti a transakce, ale musí takové rozdíly rozlišovat.