RemotingServices.Unmarshal Método

Definición

Convierte un determinado ObjRef en un objeto proxy.

Sobrecargas

Nombre Description
Unmarshal(ObjRef)

Quita y ObjRef crea un objeto proxy fuera de él.

Unmarshal(ObjRef, Boolean)

Quita un ObjRef objeto proxy y lo refina al tipo en el servidor.

Unmarshal(ObjRef)

Quita y ObjRef crea un objeto proxy fuera de él.

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 va a crear el proxy.

Devoluciones

Proxy al objeto que representa el objeto especificado ObjRef .

Atributos

Excepciones

La ObjRef instancia especificada en el objectRef parámetro no tiene el formato correcto.

Al menos uno de los autores de llamada más altos en la pila de llamadas no tiene permiso para configurar tipos y canales de comunicación remota.

Ejemplos

En el ejemplo de código siguiente se muestra cómo desmarshalar 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 que se usa para transferir una referencia de objeto a través de un límite de dominio de aplicación. La creación de un ObjRef objeto para 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, generalmente conectado al objeto real. Esta operación se conoce como desenshaz. Durante la desmarshació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 analizador 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)

Quita un ObjRef objeto proxy y lo refina al tipo en el 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 va a crear el proxy.

fRefine
Boolean

true para refinar el proxy al tipo en el servidor; de lo contrario, false.

Devoluciones

Proxy al objeto que representa el objeto especificado ObjRef .

Atributos

Excepciones

La ObjRef instancia especificada en el objectRef parámetro no tiene el formato correcto.

Al menos uno de los autores de llamada más altos en la pila de llamadas no tiene permiso para configurar tipos y canales de comunicación remota.

Comentarios

Es ObjRef una representación serializable de un objeto que se usa para transferir una referencia de objeto a través de un límite de dominio de aplicación. La creación de un ObjRef objeto para 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, generalmente conectado al objeto real. Esta operación se conoce como desenshaz. Durante la desmarshació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 analizador 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