RemotingServices.IsTransparentProxy(Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca wartość logiczną wskazującą, czy dany obiekt jest przezroczystym serwerem proxy, czy obiektem rzeczywistym.
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
Odwołanie do obiektu do sprawdzenia.
Zwraca
Wartość logiczna wskazująca, czy obiekt określony w parametrze proxy jest przezroczystym serwerem proxy, czy obiektem rzeczywistym.
Przykłady
W poniższym przykładzie kodu pokazano użycie IsTransparentProxy metody w celu określenia, czy obiekt jest serwerem proxy, czy prawdziwym obiektem. Pełny przykładowy kod można znaleźć w przykładzie AsyncResult dla klasy .
// 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
Uwagi
Klient, który używa obiektu w dowolnym rodzaju granicy komunikacji automatycznej, faktycznie używa przezroczystego serwera proxy dla obiektu. Przezroczysty serwer proxy sprawia wrażenie, że rzeczywisty obiekt znajduje się w przestrzeni klienta. Umożliwia to przekazanie wywołań do obiektu rzeczywistego przy użyciu infrastruktury komunikacji telefonicznej.
Przezroczysty serwer proxy jest sam w domu przez wystąpienie zarządzanej klasy środowiska uruchomieniowego typu RealProxy. Funkcja RealProxy implementuje część funkcji wymaganą do przekazywania operacji z przezroczystego serwera proxy. Obiekt proxy dziedziczy skojarzona semantyka zarządzanych obiektów, takich jak odzyskiwanie pamięci, obsługa elementów członkowskich i metod, i może zostać rozszerzona w celu utworzenia nowych klas. W związku z tym serwer proxy ma podwójny charakter; z jednej strony musi działać jako obiekt tej samej klasy co obiekt zdalny (przezroczysty serwer proxy), a drugi jest obiektem zarządzanym.
Obiekt proxy można używać bez względu na jakiekolwiek podziały komunikacji zdalnie w obrębie obiektu AppDomain. Aplikacje nie muszą rozróżniać odwołań serwera proxy i odwołań do obiektów. Jednak dostawcy usług, którzy mają do czynienia z problemami, takimi jak aktywacja, zarządzanie okresem istnienia i transakcje, muszą dokonać takich rozróżnienia.