Compartilhar via


IServerChannelSink.ProcessMessage Método

Definição

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

Os 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 é retornado, este método contém um IMessage que retém a mensagem de resposta. Este parâmetro é passado não inicializado.

responseHeaders
ITransportHeaders

Quando é retornado, este método contém um ITransportHeaders que retém os cabeçalhos que devem ser adicionados à mensagem de retorno direcionada ao cliente. Este parâmetro é passado não inicializado.

responseStream
Stream

Quando este método é retornado, contém um Stream que está sendo encaminhado de volta para o coletor de transporte. Este parâmetro é passado não inicializado.

Retornos

Um valor de status ServerProcessing 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 da extremidade do cliente para a extremidade 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 no 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.

Aplica-se a