SdlChannelSink.ProcessMessage メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SdlChannelSink.ProcessMessage メソッドの意味・解説 

SdlChannelSink.ProcessMessage メソッド

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

名前空間: System.Runtime.Remoting.MetadataServices
アセンブリ: System.Runtime.Remoting (system.runtime.remoting.dll 内)
構文構文

Public Function ProcessMessage ( _
    sinkStack As IServerChannelSinkStack, _
    requestMsg As IMessage, _
    requestHeaders As ITransportHeaders, _
    requestStream As Stream, _
    <OutAttribute> ByRef responseMsg As
 IMessage, _
    <OutAttribute> ByRef responseHeaders As
 ITransportHeaders, _
    <OutAttribute> ByRef responseStream As
 Stream _
) As ServerProcessing
Dim instance As SdlChannelSink
Dim sinkStack As IServerChannelSinkStack
Dim requestMsg As IMessage
Dim requestHeaders As ITransportHeaders
Dim requestStream As Stream
Dim responseMsg As IMessage
Dim responseHeaders As ITransportHeaders
Dim responseStream As Stream
Dim returnValue As ServerProcessing

returnValue = instance.ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream,
 responseMsg, responseHeaders, responseStream)
public ServerProcessing ProcessMessage (
    IServerChannelSinkStack sinkStack,
    IMessage requestMsg,
    ITransportHeaders requestHeaders,
    Stream requestStream,
    out IMessage responseMsg,
    out ITransportHeaders responseHeaders,
    out Stream responseStream
)
public:
virtual ServerProcessing ProcessMessage (
    IServerChannelSinkStack^ sinkStack, 
    IMessage^ requestMsg, 
    ITransportHeaders^ requestHeaders, 
    Stream^ requestStream, 
    [OutAttribute] IMessage^% responseMsg, 
    [OutAttribute] ITransportHeaders^% responseHeaders, 
    [OutAttribute] Stream^% responseStream
) sealed
public final ServerProcessing ProcessMessage (
    IServerChannelSinkStack sinkStack, 
    IMessage requestMsg, 
    ITransportHeaders requestHeaders, 
    Stream requestStream, 
    /** @attribute OutAttribute() */ /** @ref */ IMessage responseMsg, 
    /** @attribute OutAttribute() */ /** @ref */ ITransportHeaders responseHeaders,
 
    /** @attribute OutAttribute() */ /** @ref */ Stream responseStream
)
JScript では、値型の引数は参照渡しされません。

パラメータ

sinkStack

現在のシンクを呼び出したチャネル シンクのスタック。

requestMsg

要求を格納しているメッセージ。

requestHeaders

クライアントからの受信メッセージから取得したヘッダー。

requestStream

処理し、逆シリアル化シンクに渡す必要があるストリーム。

responseMsg

このメソッドから制御が戻るときに、応答メッセージを保持する IMessage が格納されます。このパラメータは初期化せずに渡されます。

responseHeaders

このメソッドから制御が戻るときに、クライアントへの返信メッセージに追加されるヘッダーを保持する ITransportHeaders が格納されます。このパラメータは初期化せずに渡されます。

responseStream

このメソッドが返されるときに、トランスポート シンクに送信される Stream を格納します。このパラメータは初期化せずに渡されます。

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

解説解説

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

フォーマッタ チャネル シンクが、チャネルを経由して送信する必要があるメッセージを取得する場合は、SyncProcessMessage を呼び出し、パラメータとしてこのメッセージを渡します。その後、フォーマッタ シンクが、トランスポート ヘッダー配列を作成し、GetRequestStream をフォーマッタ シンクに呼び出します。この呼び出しは、シンク チェーン内で転送され、フォーマッタ シンクに戻される要求ストリームを任意のシンクによって作成できます。この呼び出しが返されると、メッセージはシリアル化され、ProcessMessage がシンク チェイン内の最初のチェインで呼び出されて、このメッセージがチャネル シンクに渡されます。

チャネル シンクは、メッセージを取得後、ストリームにデータを書き込み、ヘッダー配列にヘッダーを追加し、チャネル シンク自体をシンク スタックに追加してから、この呼び出しを次のシンクに転送します。呼び出しがチェインの末尾にあるトランスポート シンクに到達すると、トランスポート シンクがヘッダーとシリアル化されたメッセージをチャネルを通じてサーバーに送信します。サーバーでは処理が逆になります。

メッセージがサーバー側に到達すると、トランスポート シンクがヘッダーとシリアル化されたメッセージをストリームから取得し、フォーマッタ シンクに到達するまで、これらをシンク チェインを通じて転送します。その後、フォーマッタ シンクはメッセージを逆シリアル化し、リモート処理に転送します。リモート処理では、メッセージがメソッドの呼び出しに変換され、サーバー オブジェクトが呼び出されます。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SdlChannelSink クラス
SdlChannelSink メンバ
System.Runtime.Remoting.MetadataServices 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

SdlChannelSink.ProcessMessage メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SdlChannelSink.ProcessMessage メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS