RemotingServices.IsTransparentProxy(Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une valeur booléenne qui indique si l’objet donné 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 booléenne qui indique si l’objet spécifié dans le proxy paramètre 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 de code complet, consultez l’exemple de 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 sur n’importe quel type de 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 une instance d’une classe runtime managée de type RealProxy. Il RealProxy implémente une partie de la fonctionnalité nécessaire 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. Ainsi, 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 sous-divisions de communication à distance au sein d’un AppDomain. Les applications n’ont pas besoin de faire la distinction entre les références proxy et les références d’objet. Toutefois, les fournisseurs de services qui traitent de problèmes tels que l’activation, la gestion de la durée de vie et les transactions doivent faire de telles distinctions.