RemotingServices.IsTransparentProxy(Object) Methode

Definitie

Retourneert een Booleaanse waarde die aangeeft of het opgegeven object een transparante proxy of een echt object is.

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

Parameters

proxy
Object

De verwijzing naar het object dat moet worden gecontroleerd.

Retouren

Een Booleaanse waarde die aangeeft of het object dat is opgegeven in de proxy parameter een transparante proxy of een echt object is.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe de IsTransparentProxy methode wordt gebruikt om te bepalen of een object een proxy of een echt object is. Zie het voorbeeld voor de AsyncResult klasse voor de volledige voorbeeldcode.

// 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

Opmerkingen

Een client die gebruikmaakt van een object over elk soort externe grens gebruikt, maakt daadwerkelijk gebruik van een transparante proxy voor het object. De transparante proxy geeft de indruk dat het werkelijke object zich in de ruimte van de client bevindt. Dit wordt bereikt door aanroepen door te sturen naar het echte object met behulp van de externe infrastructuur.

De transparante proxy wordt zelf ondergebracht door een exemplaar van een beheerde runtimeklasse van het type RealProxy. Hiermee RealProxy wordt een deel van de functionaliteit geïmplementeerd die nodig is om de bewerkingen vanuit de transparante proxy door te sturen. Een proxyobject neemt de bijbehorende semantiek van beheerde objecten over, zoals garbagecollection, ondersteuning voor leden en methoden, en kan worden uitgebreid om nieuwe klassen te vormen. De proxy heeft dus een dubbele aard; enerzijds moet het fungeren als een object van dezelfde klasse als het externe object (transparante proxy), en anderzijds is het een beheerd object zelf.

Een proxyobject kan worden gebruikt zonder rekening te houden met eventuele externe onderverdelingen binnen een AppDomain. Toepassingen hoeven geen onderscheid te maken tussen proxyverwijzingen en objectverwijzingen. Serviceproviders die te maken hebben met problemen zoals activering, levensduurbeheer en transacties, moeten dergelijke onderscheid maken.

Van toepassing op

Zie ook