IServerChannelSink.ProcessMessage 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.
Żąda przetwarzania komunikatów z bieżącego ujścia.
public:
System::Runtime::Remoting::Channels::ServerProcessing ProcessMessage(System::Runtime::Remoting::Channels::IServerChannelSinkStack ^ sinkStack, System::Runtime::Remoting::Messaging::IMessage ^ requestMsg, System::Runtime::Remoting::Channels::ITransportHeaders ^ requestHeaders, System::IO::Stream ^ requestStream, [Runtime::InteropServices::Out] System::Runtime::Remoting::Messaging::IMessage ^ % responseMsg, [Runtime::InteropServices::Out] System::Runtime::Remoting::Channels::ITransportHeaders ^ % responseHeaders, [Runtime::InteropServices::Out] System::IO::Stream ^ % responseStream);
public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);
[System.Security.SecurityCritical]
public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);
abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
[<System.Security.SecurityCritical>]
abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
Public Function ProcessMessage (sinkStack As IServerChannelSinkStack, requestMsg As IMessage, requestHeaders As ITransportHeaders, requestStream As Stream, ByRef responseMsg As IMessage, ByRef responseHeaders As ITransportHeaders, ByRef responseStream As Stream) As ServerProcessing
Parametry
- sinkStack
- IServerChannelSinkStack
Stos ujścia kanału, który nazwał bieżący ujście.
- requestMsg
- IMessage
Komunikat zawierający żądanie.
- requestHeaders
- ITransportHeaders
Nagłówki pobrane z komunikatu przychodzącego z klienta.
- requestStream
- Stream
Strumień, który należy przetworzyć i przekazać do ujścia deserializacji.
- responseMsg
- IMessage
Gdy ta metoda zostanie zwrócona, zawiera IMessage komunikat zawierający komunikat odpowiedzi. Ten parametr jest przekazywany jako niezainicjowany.
- responseHeaders
- ITransportHeaders
Gdy ta metoda zostanie zwrócona, zawiera ITransportHeaders nagłówki, które mają zostać dodane w celu zwrócenia nagłówka komunikatu do klienta. Ten parametr jest przekazywany jako niezainicjowany.
- responseStream
- Stream
Gdy ta metoda zostanie zwrócona, zawiera nagłówek Stream z powrotem do ujścia transportu. Ten parametr jest przekazywany jako niezainicjowany.
Zwraca
ServerProcessing Wartość stanu, która zawiera informacje o sposobie przetwarzania komunikatu.
- Atrybuty
Wyjątki
Bezpośredni obiekt wywołujący nie ma uprawnień do infrastruktury.
Uwagi
Zadaniem serwera proxy jest przekonwertowanie wywołania metody wywoływanego na nim do obiektu komunikatu. Ten obiekt komunikatu IMessage , który implementuje interfejs, jest przekazywany z końca klienta do serwera przez wywołanie ProcessMessage obiektów ujścia komunikatów. Ujścia komunikatów są połączone w łańcuch w taki sposób, że każdy ujście komunikatów jest odpowiedzialny za wywołanie ProcessMessage następnego ujścia komunikatu po wykonaniu jego pracy. Na przykład ujście komunikatów związanych z synchronizacją może spowodować uzyskanie lub zwolnienie blokady, a następnie delegowanie dalej do ujścia komunikatu podrzędnego.