Partilhar via


RemotingServices.IsTransparentProxy(Object) Método

Definição

Retorna um valor booliano que indica se o objeto fornecido é um proxy transparente ou um objeto real.

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

Parâmetros

proxy
Object

A referência para o objeto a ser verificado.

Retornos

Um valor booliano que indica se o objeto especificado no parâmetro proxy é um proxy transparente ou um objeto real.

Exemplos

O exemplo de código a seguir demonstra o uso do IsTransparentProxy método para determinar se um objeto é um proxy ou um objeto real. Para obter o código de exemplo completo, consulte o exemplo para a 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

Comentários

Um cliente que usa um objeto em qualquer tipo de limite de comunicação remota está realmente usando um proxy transparente para o objeto. O proxy transparente dá a impressão de que o objeto real reside no espaço do cliente. Ele consegue isso encaminhando chamadas feitas nele para o objeto real usando a infraestrutura de comunicação remota.

O proxy transparente é hospedado por uma instância de uma classe de runtime gerenciada do tipo RealProxy. O RealProxy implementa uma parte da funcionalidade necessária para encaminhar as operações do proxy transparente. Um objeto proxy herda a semântica associada de objetos gerenciados, como coleta de lixo, suporte para membros e métodos, e pode ser estendido para formar novas classes. Portanto, o proxy tem uma natureza dupla; por um lado, ele precisa atuar como um objeto da mesma classe que o objeto remoto (proxy transparente) e, por outro, é um objeto gerenciado em si.

Um objeto proxy pode ser usado sem levar em conta as subdivisões de comunicação remota em um AppDomain. Os aplicativos não precisam distinguir entre referências de proxy e referências de objeto. No entanto, os provedores de serviços que lidam com problemas como ativação, gerenciamento de tempo de vida e transações precisam fazer essas distinções.

Aplica-se a

Confira também