IServerChannelSink.ProcessMessage Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Solicita o processamento de mensagens do coletor atual.
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
Parâmetros
- sinkStack
- IServerChannelSinkStack
Uma pilha de coletores de canal que chamou o coletor atual.
- requestMsg
- IMessage
A mensagem que contém a solicitação.
- requestHeaders
- ITransportHeaders
Cabeçalhos recuperados da mensagem de entrada do cliente.
- requestStream
- Stream
O fluxo que precisa ser processado e passado para o coletor de desserialização.
- responseMsg
- IMessage
Quando esse método é retornado, contém um IMessage que contém a mensagem de resposta. Esse parâmetro é passado sem inicialização.
- responseHeaders
- ITransportHeaders
Quando esse método é retornado, contém um ITransportHeaders que contém os cabeçalhos que devem ser adicionados para retornar o título da mensagem ao cliente. Esse parâmetro é passado sem inicialização.
- responseStream
- Stream
Quando esse método é retornado, contém um Stream que está voltando para o coletor de transporte. Esse parâmetro é passado sem inicialização.
Retornos
Um ServerProcessing valor de status que fornece informações sobre como a mensagem foi processada.
- Atributos
Exceções
O chamador imediato não tem permissão de infraestrutura.
Comentários
O trabalho de um proxy é converter uma chamada de método invocada nele em um objeto de mensagem. Esse objeto de mensagem, que implementa a IMessage interface, é passado do final do cliente para o final do servidor invocando ProcessMessage objetos do coletor de mensagens. Os coletores de mensagens são encadeados no sentido de que cada coletor de mensagens é responsável por chamar ProcessMessage o próximo coletor de mensagens depois de executar seu trabalho. Por exemplo, um coletor de mensagens relacionado à sincronização pode fazer com que um bloqueio seja adquirido ou liberado e, em seguida, delegado ainda mais para o coletor de mensagens downstream.