RemotingServices.Unmarshal RemotingServices.Unmarshal RemotingServices.Unmarshal RemotingServices.Unmarshal Method

Définition

Convertit un ObjRef donné en objet proxy.Converts a given ObjRef into a proxy object.

Surcharges

Unmarshal(ObjRef) Unmarshal(ObjRef) Unmarshal(ObjRef) Unmarshal(ObjRef)

Accepte ObjRef, dont il crée un objet proxy.Takes a ObjRef and creates a proxy object out of it.

Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean)

Accepte ObjRef, dont il crée un proxy, en le restreignant au type sur le serveur.Takes a ObjRef and creates a proxy object out of it, refining it to the type on the server.

Unmarshal(ObjRef) Unmarshal(ObjRef) Unmarshal(ObjRef) Unmarshal(ObjRef)

Accepte ObjRef, dont il crée un objet proxy.Takes a ObjRef and creates a proxy object out of it.

public:
 static System::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
Public Shared Function Unmarshal (objectRef As ObjRef) As Object

Paramètres

objectRef
ObjRef ObjRef ObjRef ObjRef

ObjRef qui représente l'objet distant pour lequel un proxy est créé.The ObjRef that represents the remote object for which the proxy is being created.

Retours

Proxy pour l'objet représenté par le ObjRef donné.A proxy to the object that the given ObjRef represents.

Exceptions

L'instance de ObjRef spécifiée dans le paramètre objectRef n'est pas correctement formée.The ObjRef instance specified in the objectRef parameter is not well-formed.

Au moins un des appelants à un niveau plus élevé dans la pile des appels n'a pas l'autorisation de configuration des types et des canaux de communication à distance.At least one of the callers higher in the callstack does not have permission to configure remoting types and channels.

Exemples

L’exemple de code suivant montre comment démarshaler un objet.The following code example demonstrates how to unmarshal an object.

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

Remarques

Un ObjRef est une représentation sérialisable d’un objet utilisé pour transférer une référence d’objet à travers une limite de domaine d’application.A ObjRef is a serializable representation of an object used to transfer an object reference across an application domain boundary. La création ObjRef d’un pour un objet est appelée marshaling.Creating a ObjRef for an object is known as marshaling. Le ObjRef peut être transféré via un canal dans un autre domaine d’application (éventuellement sur un autre processus ou ordinateur).The ObjRef can be transferred through a channel into another application domain (possibly on another process or computer). Une fois dans l’autre domaine d’application ObjRef , doit être analysé pour créer un proxy pour l’objet, généralement connecté à l’objet réel.Once in the other application domain, the ObjRef must be parsed to create a proxy for the object, generally connected to the real object. Cette opération est appelée démarshaling.This operation is known as unmarshaling. Pendant le démarshaling, ObjRef le est analysé pour extraire les informations de méthode de l’objet distant et le proxy transparent et RealProxy les objets sont créés.During unmarshaling, the ObjRef is parsed to extract the method information of the remote object and both the transparent proxy and RealProxy objects are created. Le contenu de l’analyseur ObjRef est ajouté au proxy transparent avant que le proxy transparent soit inscrit auprès du Common Language Runtime.The content of the parsed ObjRef is added to the transparent proxy before the transparent proxy is registered with the common language runtime.

Un ObjRef contient des informations qui décrivent la Type classe et de l’objet qui est marshalé, un URI qui identifie de façon unique l’instance d’objet spécifique et des informations relatives à la communication sur la façon d’atteindre la sous-division de communication à distance. où se trouve l’objet.A ObjRef contains information that describes the Type and class of the object being marshaled, a URI that uniquely identifies the specific object instance, and communication related information about how to reach the remoting subdivision where the object is located.

Sécurité

SecurityPermission
pour la configuration de l’infrastructure de communication à distance.for configuration of the remoting infrastructure. Valeur de la Demanddemande:; Valeur d’autorisation:RemotingConfigurationDemand value: Demand; Permission value: RemotingConfiguration

Voir aussi

Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean) Unmarshal(ObjRef, Boolean)

Accepte ObjRef, dont il crée un proxy, en le restreignant au type sur le serveur.Takes a ObjRef and creates a proxy object out of it, refining it to the type on the server.

public:
 static System::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
Public Shared Function Unmarshal (objectRef As ObjRef, fRefine As Boolean) As Object

Paramètres

objectRef
ObjRef ObjRef ObjRef ObjRef

ObjRef qui représente l'objet distant pour lequel un proxy est créé.The ObjRef that represents the remote object for which the proxy is being created.

fRefine
Boolean Boolean Boolean Boolean

true pour restreindre le proxy au type sur le serveur ; sinon false.true to refine the proxy to the type on the server; otherwise, false.

Retours

Proxy pour l'objet représenté par le ObjRef donné.A proxy to the object that the given ObjRef represents.

Exceptions

L'instance de ObjRef spécifiée dans le paramètre objectRef n'est pas correctement formée.The ObjRef instance specified in the objectRef parameter is not well-formed.

Au moins un des appelants à un niveau plus élevé dans la pile des appels n'a pas l'autorisation de configuration des types et des canaux de communication à distance.At least one of the callers higher in the callstack does not have permission to configure remoting types and channels.

Remarques

Un ObjRef est une représentation sérialisable d’un objet utilisé pour transférer une référence d’objet à travers une limite de domaine d’application.A ObjRef is a serializable representation of an object used to transfer an object reference across an application domain boundary. La création ObjRef d’un pour un objet est appelée marshaling.Creating a ObjRef for an object is known as marshaling. Le ObjRef peut être transféré via un canal dans un autre domaine d’application (éventuellement sur un autre processus ou ordinateur).The ObjRef can be transferred through a channel into another application domain (possibly on another process or computer). Une fois dans l’autre domaine d’application ObjRef , doit être analysé pour créer un proxy pour l’objet, généralement connecté à l’objet réel.Once in the other application domain, the ObjRef must be parsed to create a proxy for the object, generally connected to the real object. Cette opération est appelée démarshaling.This operation is known as unmarshaling. Pendant le démarshaling, ObjRef le est analysé pour extraire les informations de méthode de l’objet distant et le proxy transparent et RealProxy les objets sont créés.During unmarshaling, the ObjRef is parsed to extract the method information of the remote object and both the transparent proxy and RealProxy objects are created. Le contenu de l’analyseur ObjRef est ajouté au proxy transparent avant que le proxy transparent soit inscrit auprès du Common Language Runtime.The content of the parsed ObjRef is added to the transparent proxy before the transparent proxy is registered with the common language runtime.

Un ObjRef contient des informations qui décrivent la Type classe et de l’objet qui est marshalé, un URI qui identifie de façon unique l’instance d’objet spécifique et des informations relatives à la communication sur la façon d’atteindre la sous-division de communication à distance. où se trouve l’objet.A ObjRef contains information that describes the Type and class of the object being marshaled, a URI that uniquely identifies the specific object instance, and communication related information about how to reach the remoting subdivision where the object is located.

Lors de la création initiale, le proxy est MarshalByRefObjectde type.When first created, the proxy is of type MarshalByRefObject. Lorsque vous effectuez un cast de celui-ci en différents types, l’infrastructure de communication à distance effectue le suivi du type le plus utilisé pour éviter de charger le type inutilement.As you cast it into different types, the remoting infrastructure keeps track of the most used type to avoid loading the type unnecessarily.

Sécurité

SecurityPermission
pour la configuration de l’infrastructure de communication à distance.for configuration of the remoting infrastructure. Valeur de la Demanddemande:; Valeur d’autorisation:RemotingConfigurationDemand value: Demand; Permission value: RemotingConfiguration

Voir aussi

S’applique à