IServerChannelSink.ProcessMessage 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
要求來自目前接收的訊息處理。
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
參數
- sinkStack
- IServerChannelSinkStack
呼叫目前接收的通道接收堆疊。
- requestMsg
- IMessage
包含要求的訊息。
- requestHeaders
- ITransportHeaders
從來自用戶端的連入訊息中擷取的標頭。
- requestStream
- Stream
必須處理和傳遞至還原序列化 (Deserialization) 接收的資料流。
- responseHeaders
- ITransportHeaders
當這個方法傳回時,會包含保存標頭的 ITransportHeaders,而這些標頭將加入前往用戶端的傳回訊息。 這個參數會以未初始化的狀態傳遞。
傳回
ServerProcessing 狀態值,提供訊息如何處理的相關資訊。
- 屬性
例外狀況
立即呼叫端沒有基礎結構使用權限。
備註
Proxy 的作業是將叫用的方法呼叫轉換成訊息物件。 實作 介面的 IMessage 這個訊息物件會透過叫 ProcessMessage 用訊息接收物件,從用戶端端傳遞至伺服器端。 訊息接收會鏈結在一起,也就是說,每個訊息接收都會在執行其工作之後,負責在下一個訊息接收上呼叫 ProcessMessage 。 例如,同步處理相關的訊息接收可能會導致取得或釋放鎖定,然後再委派給下游訊息接收。