RemotingServices.IsTransparentProxy(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen booleschen Wert zurück, der angibt, ob es sich bei dem angegebenen Objekt um einen transparenten Proxy oder ein echtes Objekt handelt.
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
Parameter
- proxy
- Object
Der Verweis auf das zu überprüfende Objekt.
Gibt zurück
Ein boolescher Wert, der angibt, ob es sich bei dem im proxy
-Parameter angegebenen Objekt um einen transparenten Proxy oder ein echtes Objekt handelt.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der IsTransparentProxy -Methode veranschaulicht, um zu bestimmen, ob ein Objekt ein Proxy oder ein echtes Objekt ist. Den vollständigen Beispielcode finden Sie im Beispiel für die AsyncResult -Klasse.
// 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
Hinweise
Ein Client, der ein Objekt über eine beliebige Remotinggrenze hinweg verwendet, verwendet tatsächlich einen transparenten Proxy für das Objekt. Der transparente Proxy vermittelt den Eindruck, dass sich das tatsächliche Objekt im Bereich des Clients befindet. Dies wird erreicht, indem Aufrufe an das reale Objekt mithilfe der Remotinginfrastruktur weitergeleitet werden.
Der transparente Proxy selbst ist in einem instance einer verwalteten Laufzeitklasse vom Typ RealProxyuntergebracht. RealProxy Implementiert einen Teil der Funktionalität, die erforderlich ist, um die Vorgänge vom transparenten Proxy weiterzuleiten. Ein Proxyobjekt erbt die zugeordnete Semantik verwalteter Objekte, z. B. Garbage Collection, Unterstützung für Member und Methoden, und kann erweitert werden, um neue Klassen zu bilden. Daher hat der Proxy einen doppelten Charakter; Zum einen muss es als Objekt derselben Klasse wie das Remoteobjekt (transparenter Proxy) fungieren, und zum anderen ist es selbst ein verwaltetes Objekt.
Ein Proxyobjekt kann ohne Rücksicht auf Remotingunterteilungen innerhalb eines AppDomainverwendet werden. Anwendungen müssen nicht zwischen Proxyverweise und Objektverweise unterscheiden. Dienstanbieter, die sich mit Problemen wie Aktivierung, Verwaltung der Lebensdauer und Transaktionen befassen, müssen jedoch solche Unterschiede treffen.