RemotingServices.IsTransparentProxy(Object) Méthode

Définition

Retourne une valeur Boolean indiquant si l'objet spécifié est un proxy transparent ou un objet réel.

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

Paramètres

proxy
Object

Référence à l'objet à vérifier.

Retours

Valeur Boolean indiquant si l'objet spécifié dans le paramètre proxy est un proxy transparent ou un objet réel.

Exemples

L’exemple de code suivant illustre l’utilisation de la IsTransparentProxy méthode pour déterminer si un objet est un proxy ou un objet réel. Pour obtenir l’exemple complet de code, consultez l’exemple pour la AsyncResult classe .

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

Remarques

Un client qui utilise un objet au-delà d’une limite de communication à distance utilise en fait un proxy transparent pour l’objet. Le proxy transparent donne l’impression que l’objet réel réside dans l’espace du client. Pour ce faire, il transfère les appels effectués sur l’objet réel à l’aide de l’infrastructure de communication à distance.

Le proxy transparent est lui-même hébergé par un instance d’une classe runtime managée de type RealProxy. implémente RealProxy une partie des fonctionnalités nécessaires pour transférer les opérations à partir du proxy transparent. Un objet proxy hérite de la sémantique associée d’objets managés tels que le garbage collection, la prise en charge des membres et des méthodes, et peut être étendu pour former de nouvelles classes. Par conséquent, le proxy a une double nature ; d’une part, il doit agir en tant qu’objet de la même classe que l’objet distant (proxy transparent), et d’autre part, il s’agit d’un objet managé lui-même.

Un objet proxy peut être utilisé sans tenir compte des subdivisions de communication à distance au sein d’un AppDomain. Les applications n’ont pas besoin de faire la distinction entre les références de proxy et les références d’objet. Toutefois, les fournisseurs de services qui traitent des problèmes tels que l’activation, la gestion de la durée de vie et les transactions doivent faire de telles distinctions.

S’applique à

Voir aussi