Condividi tramite


IServerChannelSink.ProcessMessage Metodo

Definizione

Richiede l'elaborazione di messaggi da parte del sink corrente.

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

Parametri

sinkStack
IServerChannelSinkStack

Stack di sink di canale utilizzato per la chiamata al sink corrente.

requestMsg
IMessage

Messaggio che contiene la richiesta.

requestHeaders
ITransportHeaders

Intestazioni recuperate dal messaggio in entrata dal client.

requestStream
Stream

Flusso che deve essere elaborato e passato al sink di deserializzazione.

responseMsg
IMessage

Quando il metodo viene completato, contiene un oggetto IMessage con il messaggio di risposta. Questo parametro viene passato non inizializzato.

responseHeaders
ITransportHeaders

Quando il metodo termina, contiene un'interfaccia ITransportHeaders con le intestazioni da aggiungere al messaggio restituito diretto al client. Questo parametro viene passato non inizializzato.

responseStream
Stream

Quando il metodo termina, contiene un oggetto Stream diretto di nuovo al sink di trasporto. Questo parametro viene passato non inizializzato.

Restituisce

ServerProcessing

Valore dello stato ServerProcessing che fornisce informazioni sulle modalità di elaborazione del messaggio.

Attributi

Eccezioni

Il chiamante immediato non dispone dell'autorizzazione di infrastruttura.

Commenti

Il processo di un proxy consiste nel convertire una chiamata al metodo richiamata in un oggetto message. Questo oggetto messaggio, che implementa l'interfaccia IMessage , viene passato dal client alla fine del server richiamando ProcessMessage gli oggetti sink dei messaggi. I sink dei messaggi vengono concatenati insieme nel senso che ogni sink di messaggi è responsabile della chiamata ProcessMessage al sink di messaggi successivo dopo aver eseguito il suo lavoro. Ad esempio, un sink di messaggi correlato alla sincronizzazione può causare l'acquisizione o il rilascio di un blocco e quindi delegato ulteriormente al sink di messaggi downstream.

Si applica a