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 rzeczywistym obiektem.
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 zdalniej, w rzeczywistości 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 mieści się w wystąpieniu zarządzanej klasy środowiska uruchomieniowego typu RealProxy. Element RealProxy implementuje część funkcji potrzebnej 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 z drugiej jest obiektem zarządzanym.
Obiekt proxy może być używany bez względu na jakiekolwiek poddziały komunikacji zdalniej w obrębie obiektu AppDomain. Aplikacje nie muszą rozróżniać odwołań do serwera proxy i odwołań do obiektów. Jednak dostawcy usług, którzy zajmują się problemami, takimi jak aktywacja, zarządzanie okresem istnienia i transakcje, muszą wprowadzić takie różnice.