RemotingServices.Unmarshal Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit un objet proxy donné ObjRef .
Surcharges
| Nom | Description |
|---|---|
| Unmarshal(ObjRef) |
Prend un ObjRef objet proxy et en crée un. |
| Unmarshal(ObjRef, Boolean) |
Prend un objet proxy et en crée un ObjRef , l’affinant au type sur le serveur. |
Unmarshal(ObjRef)
Prend un ObjRef objet proxy et en crée un.
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
Paramètres
Retours
Proxy vers l’objet que représente l’objet donné ObjRef .
- Attributs
Exceptions
L’instance ObjRef spécifiée dans le objectRef paramètre n’est pas bien formée.
Au moins un des appelants plus haut dans la pile d’appels n’est pas autorisé à configurer les types et canaux de communication à distance.
Exemples
L’exemple de code suivant montre comment disshaler un objet.
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
Il ObjRef s’agit d’une représentation sérialisable d’un objet utilisé pour transférer une référence d’objet sur une limite de domaine d’application. La création d’un ObjRef objet est appelée marshaling. Il ObjRef peut être transféré via un canal vers un autre domaine d’application (éventuellement sur un autre processus ou ordinateur). Une fois dans l’autre domaine d’application, il ObjRef doit être analysé pour créer un proxy pour l’objet, généralement connecté à l’objet réel. Cette opération est appelée démarshalation. Lors de l’annulation de l’analyse, il ObjRef est analysé pour extraire les informations de méthode de l’objet distant et le proxy transparent et RealProxy les objets sont créés. Le contenu de l’analyse ObjRef est ajouté au proxy transparent avant l’inscription du proxy transparent auprès du Common Language Runtime.
Contient ObjRef des informations qui décrivent la classe et la classe de l’objet en cours de marshalé, un URI qui identifie de manière unique l’instance d’objet spécifique et des informations relatives aux communications relatives à la Type façon d’atteindre la sous-division de communication à distance où se trouve l’objet.
Voir aussi
S’applique à
Unmarshal(ObjRef, Boolean)
Prend un objet proxy et en crée un ObjRef , l’affinant au type sur le serveur.
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
Paramètres
- fRefine
- Boolean
true pour affiner le proxy sur le type sur le serveur ; sinon, false.
Retours
Proxy vers l’objet que représente l’objet donné ObjRef .
- Attributs
Exceptions
L’instance ObjRef spécifiée dans le objectRef paramètre n’est pas bien formée.
Au moins un des appelants plus haut dans la pile d’appels n’est pas autorisé à configurer les types et canaux de communication à distance.
Remarques
Il ObjRef s’agit d’une représentation sérialisable d’un objet utilisé pour transférer une référence d’objet sur une limite de domaine d’application. La création d’un ObjRef objet est appelée marshaling. Il ObjRef peut être transféré via un canal vers un autre domaine d’application (éventuellement sur un autre processus ou ordinateur). Une fois dans l’autre domaine d’application, il ObjRef doit être analysé pour créer un proxy pour l’objet, généralement connecté à l’objet réel. Cette opération est appelée démarshalation. Lors de l’annulation de l’analyse, il ObjRef est analysé pour extraire les informations de méthode de l’objet distant et le proxy transparent et RealProxy les objets sont créés. Le contenu de l’analyse ObjRef est ajouté au proxy transparent avant l’inscription du proxy transparent auprès du Common Language Runtime.
Contient ObjRef des informations qui décrivent la classe et la classe de l’objet en cours de marshalé, un URI qui identifie de manière unique l’instance d’objet spécifique et des informations relatives aux communications relatives à la Type façon d’atteindre la sous-division de communication à distance où se trouve l’objet.
Lors de la première création, le proxy est de type MarshalByRefObject. Lorsque vous le convertissez en différents types, l’infrastructure de communication à distance effectue le suivi du type le plus utilisé pour éviter de charger inutilement le type.