Поделиться через


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взаимодействия в . Приложения не должны различать прокси-ссылки и ссылки на объекты. Однако поставщики услуг, занимающиеся такими вопросами, как активация, управление жизненным циклом и транзакции, должны проводить такие различия.

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

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