Compartir a través de


IServerChannelSink.ProcessMessage Método

Definición

Solicita el procesamiento de mensajes del receptor actual.

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

Pila de receptores de canal que llama al receptor actual.

requestMsg
IMessage

Mensaje que contiene la solicitud.

requestHeaders
ITransportHeaders

Encabezados recuperados del mensaje de entrada del cliente.

requestStream
Stream

Secuencia que necesita procesarse y pasarse al receptor de deserialización.

responseMsg
IMessage

El resultado que devuelve este método contiene un IMessage con el mensaje de respuesta. Este parámetro se pasa sin inicializar.

responseHeaders
ITransportHeaders

Cuando este método finaliza, contiene una interfaz ITransportHeaders con los encabezados que se van a agregar al encabezado del mensaje devuelto al cliente. Este parámetro se pasa sin inicializar.

responseStream
Stream

Cuando este método finaliza, contiene Stream que se dirige de vuelta al receptor de transporte. Este parámetro se pasa sin inicializar.

Devoluciones

ServerProcessing

Valor de estado de ServerProcessing que proporciona información sobre la forma en que se procesó el mensaje.

Atributos

Excepciones

El llamador inmediato no tiene permisos de infraestructura.

Comentarios

El trabajo de un proxy es convertir una llamada de método invocada en él en un objeto de mensaje. Este objeto de mensaje, que implementa la IMessage interfaz, se pasa desde el extremo del cliente al extremo del servidor invocando ProcessMessage en objetos receptores de mensajes. Los receptores de mensajes se encadenan en el sentido de que cada receptor de mensajes es responsable de llamar ProcessMessage al siguiente receptor de mensajes después de que haya realizado su trabajo. Por ejemplo, un receptor de mensajes relacionado con la sincronización puede hacer que se adquiera o libere un bloqueo y, a continuación, delegar más en el receptor de mensajes de bajada.

Se aplica a