RemotingServices.Unmarshal Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
- 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.