RemotingServices.IsTransparentProxy(Object) Метод

Определение

Возвращает логическое значение, указывающее, является ли данный объект прозрачным прокси-сервером или реальным объектом.

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

Параметры

proxy
Object

Ссылка на проверяемый объект.

Возвращаемое значение

Логическое значение, указывающее, является ли объект, указанный в proxy параметре, прозрачным прокси-сервером или реальным объектом.

Примеры

В следующем примере кода показано использование IsTransparentProxy метода для определения того, является ли объект прокси-сервером или реальным объектом. Полный пример кода см. в примере для AsyncResult класса.

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

Комментарии

Клиент, использующий объект через любую границу удаленного взаимодействия, фактически использует прозрачный прокси-сервер для объекта. Прозрачный прокси-сервер дает впечатление, что фактический объект находится в пространстве клиента. Это достигается путем переадресации вызовов, выполненных в реальный объект с помощью инфраструктуры удаленного взаимодействия.

Прозрачный прокси-сервер размещается в экземпляре управляемого класса среды выполнения типа RealProxy. Реализует RealProxy часть функциональных возможностей, необходимых для пересылки операций с прозрачного прокси-сервера. Прокси-объект наследует связанную семантику управляемых объектов, таких как сборка мусора, поддержка элементов и методов и может быть расширена для формирования новых классов. Таким образом, прокси-сервер имеет двойной характер; С одной стороны, он должен выступать в качестве объекта того же класса, что и удаленный объект (прозрачный прокси- сервер), а с другой — управляемый объект.

Прокси-объект можно использовать без учета каких-либо подразделений удаленного взаимодействия в пределах.AppDomain Приложения не должны различать ссылки на прокси-серверы и ссылки на объекты. Однако поставщики услуг, связанные с такими проблемами, как активация, управление временем существования и транзакции, должны иметь такие различия.

Применяется к

См. также раздел