RemotingServices.Unmarshal Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla