RemotingServices.IsTransparentProxy(Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.