IServerChannelSink.ProcessMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Запрашивает обработку сообщения из текущего приемника.
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
Поток, который необходимо обработать и передать приемнику десериализации.
- responseMsg
- IMessage
При возвращении этого метода содержит IMessage, в котором содержится ответное сообщение. Этот параметр передается неинициализированным.
- responseHeaders
- ITransportHeaders
Когда возвращается этот метод, он содержит ITransportHeaders, который включает заголовки, добавляемые в возвращаемое сообщение, идущее к клиенту. Этот параметр передается неинициализированным.
- responseStream
- Stream
Когда возвращается этот метод, он содержит поток Stream, направляющийся обратно в транспортный приемник. Этот параметр передается неинициализированным.
Возвращаемое значение
Значение состояния ServerProcessing, которое предоставляет сведения о том, как обрабатывалось сообщение.
- Атрибуты
Исключения
У непосредственно вызывающего объекта отсутствует разрешение инфраструктуры.
Комментарии
Задание прокси-сервера заключается в преобразовании вызова метода, вызываемого на нем, в объект сообщения. Этот объект сообщения, реализующий IMessage интерфейс, передается из клиентского конца в конец сервера путем вызова ProcessMessage объектов приемника сообщений. Приемники сообщений объединяются в цепочку в том смысле, что каждый приемник сообщений отвечает за вызов ProcessMessage следующего приемника сообщений после выполнения его работы. Например, приемник сообщений, связанный с синхронизацией, может привести к получению или освобождению блокировки, а затем делегировать его приемнику подчиненных сообщений.