RemotingServices.Unmarshal Метод

Определение

Преобразует заданный объект ObjRef в прокси-объект.

Перегрузки

Имя Описание
Unmarshal(ObjRef)

ObjRef Принимает и создает из него прокси-объект.

Unmarshal(ObjRef, Boolean)

ObjRef Принимает и создает из него прокси-объект, уточняя его до типа на сервере.

Unmarshal(ObjRef)

ObjRef Принимает и создает из него прокси-объект.

public:
 static System::Object ^ Unmarshal(System::Runtime::Remoting::ObjRef ^ objectRef);
public static object Unmarshal(System.Runtime.Remoting.ObjRef objectRef);
[System.Security.SecurityCritical]
public static object Unmarshal(System.Runtime.Remoting.ObjRef objectRef);
static member Unmarshal : System.Runtime.Remoting.ObjRef -> obj
[<System.Security.SecurityCritical>]
static member Unmarshal : System.Runtime.Remoting.ObjRef -> obj
Public Shared Function Unmarshal (objectRef As ObjRef) As Object

Параметры

objectRef
ObjRef

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

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

Прокси-сервер для объекта, который представляет заданный ObjRef объект.

Атрибуты

Исключения

Экземпляр ObjRef , указанный в параметре objectRef , не является хорошо сформированным.

По крайней мере один из вызывающих абонентов в calltack не имеет разрешения на настройку типов и каналов удаленного взаимодействия.

Примеры

В следующем примере кода показано, как отменить удаление объекта.

ChannelServices::RegisterChannel( gcnew HttpChannel );

SampleService ^ objectSample = (SampleService^)( Activator::GetObject( SampleService::typeid,
   "http://localhost:9000/MySampleService/SampleService.soap" ) );

// The GetManuallyMarshaledObject() method uses RemotingServices::Marshal()
// to create an ObjRef object for a SampleTwo object.
ObjRef^ objRefSampleTwo = objectSample->GetManuallyMarshaledObject();

SampleTwo ^ objectSampleTwo = (SampleTwo^)( RemotingServices::Unmarshal( objRefSampleTwo ) );

objectSampleTwo->PrintMessage( "ObjRef successfuly unmarshaled." );
ChannelServices.RegisterChannel(new HttpChannel());

SampleService objectSample = (SampleService)Activator.GetObject(typeof(SampleService),
    "http://localhost:9000/MySampleService/SampleService.soap");

// The GetManuallyMarshaledObject() method uses RemotingServices.Marshal()
// to create an ObjRef object for a SampleTwo object.
ObjRef objRefSampleTwo = objectSample.GetManuallyMarshaledObject();

SampleTwo objectSampleTwo = (SampleTwo)RemotingServices.Unmarshal(objRefSampleTwo);

objectSampleTwo.PrintMessage("ObjRef successfuly unmarshaled.");
ChannelServices.RegisterChannel(New HttpChannel())

Dim objectSample As SampleService = CType(Activator.GetObject(GetType(SampleService), _ 
      "http://localhost:9000/MySampleService/SampleService.soap"), SampleService)

' The GetManuallyMarshaledObject() method uses RemotingServices.Marshal()
' to create an ObjRef object for a SampleTwo object.
Dim objRefSampleTwo As ObjRef = objectSample.GetManuallyMarshaledObject()

Dim objectSampleTwo As SampleTwo = CType(RemotingServices.Unmarshal(objRefSampleTwo), SampleTwo)

objectSampleTwo.PrintMessage("I successfully unmarshaled your ObjRef.  Thanks.")

Комментарии

A ObjRef — это сериализуемое представление объекта, используемого для передачи ссылки на объект через границу домена приложения. ObjRef Создание объекта называется маршалингом. Его ObjRef можно передать через канал в другой домен приложения (возможно, на другом процессе или компьютере). После того как в другом домене ObjRef приложения необходимо проанализировать, чтобы создать прокси-сервер для объекта, обычно подключенного к реальному объекту. Эта операция называется немаршлингом. Во время отмены анализа ObjRef извлекается сведения о методе удаленного объекта, а также создаются прозрачные прокси-серверы и RealProxy объекты. Содержимое синтаксического анализа ObjRef добавляется к прозрачному прокси-серверу до регистрации прозрачного прокси-сервера в среде CLR.

Содержит ObjRef сведения, описывающие Type и класс маршалинг объекта, универсальный код ресурса (URI), однозначно определяющий конкретный экземпляр объекта, а также сведения о том, как достичь подразделения удаленного взаимодействия, где находится объект.

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

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

Unmarshal(ObjRef, Boolean)

ObjRef Принимает и создает из него прокси-объект, уточняя его до типа на сервере.

public:
 static System::Object ^ Unmarshal(System::Runtime::Remoting::ObjRef ^ objectRef, bool fRefine);
public static object Unmarshal(System.Runtime.Remoting.ObjRef objectRef, bool fRefine);
[System.Security.SecurityCritical]
public static object Unmarshal(System.Runtime.Remoting.ObjRef objectRef, bool fRefine);
static member Unmarshal : System.Runtime.Remoting.ObjRef * bool -> obj
[<System.Security.SecurityCritical>]
static member Unmarshal : System.Runtime.Remoting.ObjRef * bool -> obj
Public Shared Function Unmarshal (objectRef As ObjRef, fRefine As Boolean) As Object

Параметры

objectRef
ObjRef

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

fRefine
Boolean

true для уточнения прокси-сервера типа; falseв противном случае .

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

Прокси-сервер для объекта, который представляет заданный ObjRef объект.

Атрибуты

Исключения

Экземпляр ObjRef , указанный в параметре objectRef , не является хорошо сформированным.

По крайней мере один из вызывающих абонентов в calltack не имеет разрешения на настройку типов и каналов удаленного взаимодействия.

Комментарии

A ObjRef — это сериализуемое представление объекта, используемого для передачи ссылки на объект через границу домена приложения. ObjRef Создание объекта называется маршалингом. Его ObjRef можно передать через канал в другой домен приложения (возможно, на другом процессе или компьютере). После того как в другом домене ObjRef приложения необходимо проанализировать, чтобы создать прокси-сервер для объекта, обычно подключенного к реальному объекту. Эта операция называется немаршлингом. Во время отмены анализа ObjRef извлекается сведения о методе удаленного объекта, а также создаются прозрачные прокси-серверы и RealProxy объекты. Содержимое синтаксического анализа ObjRef добавляется к прозрачному прокси-серверу до регистрации прозрачного прокси-сервера в среде CLR.

Содержит ObjRef сведения, описывающие Type и класс маршалинг объекта, универсальный код ресурса (URI), однозначно определяющий конкретный экземпляр объекта, а также сведения о том, как достичь подразделения удаленного взаимодействия, где находится объект.

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

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

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