Compartir vía


RemotingServices.Unmarshal Método

Definición

Convierte ObjRef en cuestión en un objeto proxy.

Sobrecargas

Unmarshal(ObjRef)

Toma una referencia ObjRef y crea un objeto proxy fuera de ella.

Unmarshal(ObjRef, Boolean)

Toma una referencia a ObjRef y crea un objeto proxy fuera de ella, adaptándolo al tipo del servidor.

Unmarshal(ObjRef)

Toma una referencia ObjRef y crea un objeto proxy fuera de ella.

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

Parámetros

objectRef
ObjRef

ObjRef que representa el objeto remoto para el que se está creando el proxy.

Devoluciones

Proxy del objeto representado por la referencia ObjRef especificada.

Atributos

Excepciones

La instancia de ObjRef especificada en el parámetro objectRef no es correcta.

Al menos uno de los llamadores situados en la parte superior de la pila de llamadas no tiene permiso para configurar los tipos y canales de comunicación remota.

Ejemplos

En el ejemplo de código siguiente se muestra cómo desenlazar un objeto .

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.")

Comentarios

Es ObjRef una representación serializable de un objeto utilizado para transferir una referencia de objeto a través de un límite de dominio de aplicación. La creación de para ObjRef un objeto se conoce como serialización. ObjRef se puede transferir a través de un canal a otro dominio de aplicación (posiblemente en otro proceso o equipo). Una vez en el otro dominio de aplicación, ObjRef se debe analizar para crear un proxy para el objeto, normalmente conectado al objeto real. Esta operación se conoce como desenlazante. Durante la desenlazación, ObjRef se analiza para extraer la información del método del objeto remoto y se crean tanto el proxy transparente como RealProxy los objetos. El contenido del análisis ObjRef se agrega al proxy transparente antes de que el proxy transparente se registre con Common Language Runtime.

Contiene ObjRef información que describe la Type clase y del objeto que se serializa, un URI que identifica de forma única la instancia de objeto específica y la información relacionada con la comunicación sobre cómo llegar a la subdivisión de comunicación remota donde se encuentra el objeto.

Consulte también

Se aplica a

Unmarshal(ObjRef, Boolean)

Toma una referencia a ObjRef y crea un objeto proxy fuera de ella, adaptándolo al tipo del servidor.

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

Parámetros

objectRef
ObjRef

ObjRef que representa el objeto remoto para el que se está creando el proxy.

fRefine
Boolean

Es true para adaptar el proxy al tipo del servidor; en caso contrario, es false.

Devoluciones

Proxy del objeto representado por la referencia ObjRef especificada.

Atributos

Excepciones

La instancia de ObjRef especificada en el parámetro objectRef no es correcta.

Al menos uno de los llamadores situados en la parte superior de la pila de llamadas no tiene permiso para configurar los tipos y canales de comunicación remota.

Comentarios

Es ObjRef una representación serializable de un objeto utilizado para transferir una referencia de objeto a través de un límite de dominio de aplicación. La creación de para ObjRef un objeto se conoce como serialización. ObjRef se puede transferir a través de un canal a otro dominio de aplicación (posiblemente en otro proceso o equipo). Una vez en el otro dominio de aplicación, ObjRef se debe analizar para crear un proxy para el objeto, normalmente conectado al objeto real. Esta operación se conoce como desenlazante. Durante la desenlazación, ObjRef se analiza para extraer la información del método del objeto remoto y se crean tanto el proxy transparente como RealProxy los objetos. El contenido del análisis ObjRef se agrega al proxy transparente antes de que el proxy transparente se registre con Common Language Runtime.

Contiene ObjRef información que describe la Type clase y del objeto que se serializa, un URI que identifica de forma única la instancia de objeto específica y la información relacionada con la comunicación sobre cómo llegar a la subdivisión de comunicación remota donde se encuentra el objeto.

Cuando se crea por primera vez, el proxy es de tipo MarshalByRefObject. A medida que se convierte en diferentes tipos, la infraestructura de comunicación remota realiza un seguimiento del tipo más usado para evitar cargar el tipo innecesariamente.

Consulte también

Se aplica a