RemotingServices.Unmarshal Metoda

Definicja

Konwertuje dane ObjRef na obiekt proxy.

Przeciążenia

Unmarshal(ObjRef)

Pobiera obiekt ObjRef i tworzy z niego obiekt proxy.

Unmarshal(ObjRef, Boolean)

Pobiera obiekt ObjRef proxy i tworzy z niego obiekt proxy, ujmowując go do typu na serwerze.

Unmarshal(ObjRef)

Pobiera obiekt ObjRef i tworzy z niego obiekt proxy.

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

Parametry

objectRef
ObjRef

Obiekt ObjRef reprezentujący obiekt zdalny, dla którego tworzony jest serwer proxy.

Zwraca

Serwer proxy dla obiektu, który reprezentuje dana ObjRef wartość.

Atrybuty

Wyjątki

Wystąpienie ObjRef określone w parametrze objectRef nie jest poprawnie sformułowane.

Co najmniej jeden z wywołujących wyżej w stosie wywołań nie ma uprawnień do konfigurowania typów i kanałów komunikacji telefonicznej.

Przykłady

W poniższym przykładzie kodu pokazano, jak cofnąć rozmarowywanie obiektu.

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

Uwagi

A ObjRef to serializowalna reprezentacja obiektu używanego do transferu odwołania do obiektu przez granicę domeny aplikacji. ObjRef Tworzenie obiektu dla obiektu jest nazywane marshalingiem. ObjRef Można go przenieść za pośrednictwem kanału do innej domeny aplikacji (prawdopodobnie w innym procesie lub komputerze). W innej domenie aplikacji należy przeanalizować element w ObjRef celu utworzenia serwera proxy dla obiektu, zazwyczaj połączonego z rzeczywistym obiektem. Ta operacja jest znana jako unmarshaling. Podczas unmarshaling element ObjRef jest analizowany w celu wyodrębnienia informacji o metodzie obiektu zdalnego, a zarówno przezroczysty serwer proxy, jak i RealProxy obiekty są tworzone. Zawartość analizowana jest dodawana ObjRef do przezroczystego serwera proxy przed zarejestrowaniem przezroczystego serwera proxy w środowisku uruchomieniowym języka wspólnego.

Obiekt ObjRef zawiera informacje opisujące klasę Type i obiektu, który jest marshalowany, identyfikator URI, który jednoznacznie identyfikuje określone wystąpienie obiektu, oraz informacje dotyczące sposobu uzyskiwania dostępu do podsieci komunikacji komunikacji, w której znajduje się obiekt.

Zobacz też

Dotyczy

Unmarshal(ObjRef, Boolean)

Pobiera obiekt ObjRef proxy i tworzy z niego obiekt proxy, ujmowując go do typu na serwerze.

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

Parametry

objectRef
ObjRef

Obiekt ObjRef reprezentujący obiekt zdalny, dla którego tworzony jest serwer proxy.

fRefine
Boolean

true aby uściślić serwer proxy do typu na serwerze; w przeciwnym razie , false.

Zwraca

Serwer proxy dla obiektu, który reprezentuje dana ObjRef wartość.

Atrybuty

Wyjątki

Wystąpienie ObjRef określone w parametrze objectRef nie jest poprawnie sformułowane.

Co najmniej jeden z wywołujących wyżej w stosie wywołań nie ma uprawnień do konfigurowania typów i kanałów komunikacji telefonicznej.

Uwagi

A ObjRef to serializowalna reprezentacja obiektu używanego do transferu odwołania do obiektu przez granicę domeny aplikacji. ObjRef Tworzenie obiektu dla obiektu jest nazywane marshalingiem. ObjRef Można go przenieść za pośrednictwem kanału do innej domeny aplikacji (prawdopodobnie w innym procesie lub komputerze). W innej domenie aplikacji należy przeanalizować element w ObjRef celu utworzenia serwera proxy dla obiektu, zazwyczaj połączonego z rzeczywistym obiektem. Ta operacja jest znana jako unmarshaling. Podczas unmarshaling element ObjRef jest analizowany w celu wyodrębnienia informacji o metodzie obiektu zdalnego, a zarówno przezroczysty serwer proxy, jak i RealProxy obiekty są tworzone. Zawartość analizowana jest dodawana ObjRef do przezroczystego serwera proxy przed zarejestrowaniem przezroczystego serwera proxy w środowisku uruchomieniowym języka wspólnego.

Obiekt ObjRef zawiera informacje opisujące klasę Type i obiektu, który jest marshalowany, identyfikator URI, który jednoznacznie identyfikuje określone wystąpienie obiektu, oraz informacje dotyczące sposobu uzyskiwania dostępu do podsieci komunikacji komunikacji, w której znajduje się obiekt.

Po pierwszym utworzeniu serwer proxy ma typ MarshalByRefObject. W miarę rzutowania go na różne typy infrastruktura komunikacji zdalnie śledzi najczęściej używany typ, aby uniknąć niepotrzebnego ładowania tego typu.

Zobacz też

Dotyczy