RemotingServices.IsTransparentProxy(Object) Metoda

Definicja

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.

Dotyczy

Zobacz też