次の方法で共有


IServerChannelSink.ProcessMessage メソッド

現在のシンクからのメッセージ処理を要求します。

Function ProcessMessage( _
   ByVal sinkStack As IServerChannelSinkStack, _   ByVal requestMsg As IMessage, _   ByVal requestHeaders As ITransportHeaders, _   ByVal requestStream As Stream, _   <Out()> ByRef responseMsg As IMessage, _   <Out()> ByRef responseHeaders As ITransportHeaders, _   <Out()> ByRef responseStream As Stream _) As ServerProcessing
[C#]
ServerProcessing ProcessMessage(
   IServerChannelSinkStacksinkStack,IMessagerequestMsg,ITransportHeadersrequestHeaders,StreamrequestStream,   out IMessageresponseMsg,   out ITransportHeadersresponseHeaders,   out StreamresponseStream);
[C++]
ServerProcessing ProcessMessage(
   IServerChannelSinkStack* sinkStack,IMessage* requestMsg,ITransportHeaders* requestHeaders,Stream* requestStream,   [   Out] IMessage** responseMsg,   [   Out] ITransportHeaders** responseHeaders,   [   Out] Stream** responseStream);
[JScript]
function ProcessMessage(
   sinkStack : IServerChannelSinkStack,requestMsg : IMessage,requestHeaders : ITransportHeaders,requestStream : Stream,responseMsg : IMessage,responseHeaders : ITransportHeaders,responseStream : Stream) : ServerProcessing;

パラメータ

  • sinkStack
    現在のシンクを呼び出したチャネル シンクのスタック。
  • requestMsg
    要求を格納しているメッセージ。
  • requestHeaders
    クライアントからの受信メッセージから取得したヘッダー。
  • requestStream
    処理して、逆シリアル化シンクに渡す必要があるストリーム。
  • responseMsg
    このメソッドが返されるときに、応答メッセージを保持している IMessage を格納します。このパラメータは初期化せずに渡されます。
  • responseHeaders
    このメソッドが返されるときに、クライアントへのリターン メッセージの見出しに追加されるヘッダーを保持している ITransportHeaders を格納します。このパラメータは初期化せずに渡されます。
  • responseStream
    このメソッドが返されるときに、転送シンクに戻る Stream を格納します。このパラメータは初期化せずに渡されます。

戻り値

メッセージがどのように処理されたかに関する情報を提供する、 ServerProcessing ステータスの値。

例外

例外の種類 条件
SecurityException 直前の呼び出し元に、インフラストラクチャ アクセス許可がありません。

解説

プロキシのジョブは、プロキシで呼び出されたメソッドの呼び出しをメッセージ オブジェクトに変換することです。このメッセージ オブジェクトは、 IMessage インターフェイスを実装し、メッセージ シンク オブジェクト上で ProcessMessage を呼び出すことによって、クライアント エンドからサーバー エンドに渡されます。各メッセージ シンクがそれぞれの作業を実行した後に、次のメッセージ シンク上に ProcessMessage を呼び出す必要があるため、メッセージ シンクは互いにチェインされます。たとえば、同期に関連するメッセージ シンクは、ロックを取得または解放したり、その後にダウンストリーム メッセージ シンクにそれ以降の処理を代行させたりすることができます。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

IServerChannelSink インターフェイス | IServerChannelSink メンバ | System.Runtime.Remoting.Channels 名前空間