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, der angibt, ob das angegebene Objekt ein transparenter Proxy oder ein reales Objekt ist.
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 das im proxy Parameter angegebene Objekt ein transparenter Proxy oder ein reales Objekt ist.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der IsTransparentProxy Methode veranschaulicht, um zu bestimmen, ob ein Objekt ein Proxy oder ein reales 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 jede Art einer Remotinggrenze verwendet, verwendet tatsächlich einen transparenten Proxy für das Objekt. Der transparente Proxy gibt den Eindruck, dass sich das tatsächliche Objekt im Clientbereich befindet. Dies wird erreicht, indem Aufrufe an das eigentliche Objekt weitergeleitet werden, indem die Remotinginfrastruktur verwendet wird.
Der transparente Proxy befindet sich selbst in einer Instanz einer verwalteten Laufzeitklasse vom Typ RealProxy. Die RealProxy Implementierung eines Teils 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 auf neue Klassen erweitert werden. Daher hat der Proxy eine duale Natur; einerseits muss es als Objekt derselben Klasse wie das Remoteobjekt (transparenter Proxy) fungieren, und andererseits handelt es sich um ein verwaltetes Objekt selbst.
Ein Proxyobjekt kann ohne Rücksicht auf Remotingunterteilungen innerhalb einer AppDomain. Anwendungen müssen nicht zwischen Proxyverweise und Objektverweise unterscheiden. Allerdings müssen Dienstanbieter, die sich mit Problemen wie Aktivierung, Lebensdauerverwaltung und Transaktionen befassen, solche Unterscheidungen treffen.