RemotingServices.IsTransparentProxy(Object) Metodo

Definizione

Restituisce un valore Boolean che indica se l'oggetto specificato è un proxy trasparente o un oggetto reale.

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

Parametri

proxy
Object

Riferimento all'oggetto da verificare.

Restituisce

Valore Boolean che indica se l'oggetto specificato nel parametro proxy è un proxy trasparente o un oggetto reale.

Esempio

Nell'esempio IsTransparentProxy di codice seguente viene illustrato l'uso del metodo per determinare se un oggetto è un proxy o un oggetto reale. Per il codice di esempio completo, vedere l'esempio per 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

Commenti

Un client che usa un oggetto in qualsiasi tipo di limite di comunicazione remota usa effettivamente un proxy trasparente per l'oggetto. Il proxy trasparente dà l'impressione che l'oggetto effettivo si trovi nello spazio del client. Ottiene questo risultato inoltrando le chiamate effettuate all'oggetto reale usando l'infrastruttura di comunicazione remota.

Il proxy trasparente è ospitato da un'istanza di una classe di runtime gestita di tipo RealProxy. Implementa RealProxy una parte della funzionalità necessaria per inoltrare le operazioni dal proxy trasparente. Un oggetto proxy eredita la semantica associata di oggetti gestiti, ad esempio Garbage Collection, il supporto per i membri e i metodi e può essere estesa per formare nuove classi. Pertanto, il proxy ha una doppia natura; da un lato deve fungere da oggetto della stessa classe dell'oggetto remoto (proxy trasparente) e dall'altro è un oggetto gestito stesso.

Un oggetto proxy può essere usato senza considerare eventuali suddivisioni remoti all'interno di un AppDomainoggetto . Le applicazioni non devono distinguere tra riferimenti proxy e riferimenti a oggetti. Tuttavia, i provider di servizi che gestiscono problemi come l'attivazione, la gestione della durata e le transazioni devono apportare tali distinzione.

Si applica a

Vedi anche