RemotingServices.Unmarshal Metod

Definition

Konverterar en given ObjRef till ett proxyobjekt.

Överlagringar

Name Description
Unmarshal(ObjRef)

Tar bort ett ObjRef och skapar ett proxyobjekt.

Unmarshal(ObjRef, Boolean)

Tar ett ObjRef och skapar ett proxyobjekt ur det och förfinar det till typen på servern.

Unmarshal(ObjRef)

Tar bort ett ObjRef och skapar ett proxyobjekt.

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

Parametrar

objectRef
ObjRef

Det ObjRef som representerar fjärrobjektet som proxyn skapas för.

Returer

En proxy till det objekt som den angivna ObjRef representerar.

Attribut

Undantag

Den ObjRef instans som anges i parametern objectRef är inte välformulerad.

Minst en av anroparna högre i anropsstacken har inte behörighet att konfigurera fjärrkommunikationstyper och kanaler.

Exempel

I följande kodexempel visas hur du avmarsar ett objekt.

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

Kommentarer

A ObjRef är en serialiserbar representation av ett objekt som används för att överföra en objektreferens över en programdomängräns. Att skapa ett ObjRef för ett objekt kallas för marshaling. ObjRef Kan överföras via en kanal till en annan programdomän (eventuellt på en annan process eller dator). En gång i den andra programdomänen ObjRef måste parsas för att skapa en proxy för objektet, som vanligtvis är anslutet till det verkliga objektet. Den här åtgärden kallas för unmarshaling. Under unmarshaling ObjRef parsas för att extrahera metodinformationen för fjärrobjektet och både den transparenta proxyn och RealProxy objekten skapas. Innehållet i den parsade ObjRef läggs till i den transparenta proxyn innan den transparenta proxyn registreras med den vanliga språkkörningen.

En ObjRef innehåller information som beskriver Type och -klassen för objektet som konverteras, en URI som unikt identifierar den specifika objektinstansen och kommunikationsrelaterad information om hur du når underindelningen för fjärrkommunikation där objektet finns.

Se även

Gäller för

Unmarshal(ObjRef, Boolean)

Tar ett ObjRef och skapar ett proxyobjekt ur det och förfinar det till typen på servern.

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

Parametrar

objectRef
ObjRef

Det ObjRef som representerar fjärrobjektet som proxyn skapas för.

fRefine
Boolean

trueför att förfina proxyn till typen på servern. annars . false

Returer

En proxy till det objekt som den angivna ObjRef representerar.

Attribut

Undantag

Den ObjRef instans som anges i parametern objectRef är inte välformulerad.

Minst en av anroparna högre i anropsstacken har inte behörighet att konfigurera fjärrkommunikationstyper och kanaler.

Kommentarer

A ObjRef är en serialiserbar representation av ett objekt som används för att överföra en objektreferens över en programdomängräns. Att skapa ett ObjRef för ett objekt kallas för marshaling. ObjRef Kan överföras via en kanal till en annan programdomän (eventuellt på en annan process eller dator). En gång i den andra programdomänen ObjRef måste parsas för att skapa en proxy för objektet, som vanligtvis är anslutet till det verkliga objektet. Den här åtgärden kallas för unmarshaling. Under unmarshaling ObjRef parsas för att extrahera metodinformationen för fjärrobjektet och både den transparenta proxyn och RealProxy objekten skapas. Innehållet i den parsade ObjRef läggs till i den transparenta proxyn innan den transparenta proxyn registreras med den vanliga språkkörningen.

En ObjRef innehåller information som beskriver Type och -klassen för objektet som konverteras, en URI som unikt identifierar den specifika objektinstansen och kommunikationsrelaterad information om hur du når underindelningen för fjärrkommunikation där objektet finns.

När proxyn först skapas är den av typen MarshalByRefObject. När du omvandlar den till olika typer håller fjärrkommunikationsinfrastrukturen reda på den mest använda typen för att undvika att läsa in typen i onödan.

Se även

Gäller för