System.Runtime.Remoting.Messaging 名前空間
System.Runtime.Remoting.Messaging 名前空間には、メッセージを作成および転送するために使用されるクラスが含まれています。リモート処理インフラストラクチャでは、メッセージを使用してリモート オブジェクトと通信します。メッセージは、リモートのメソッド呼び出しを転送するため、リモート オブジェクトをアクティブ化するため、情報を通信するために使用されます。メッセージ オブジェクトは、アクション ID、エンボイ情報、パラメータなど、一連の名前付きプロパティと共に転送されます。 System.Runtime.Remoting.Messaging 名前空間の重要なクラスには、 AsyncResult クラス、 RemotingSurrogateSelector クラス、および ReturnMessage クラスがあります。
AsyncResult クラスは、非同期のメソッド呼び出しの結果を格納および返します。 AsyncResult のインスタンスには、戻り値、呼び出しのステータス、呼び出しに使用するデリゲート、および非同期のメソッド呼び出しに関するその他の情報が格納されます。
RemotingSurrogateSelector クラスは、 MarshalByRefObject を拡張したオブジェクトのシリアル化を制御するために使用できます。 RemotingSurrogateSelector は、そのようなオブジェクトのシリアル化と逆シリアル化に使用するサロゲートを選択します。サロゲートとは、オブジェクトのシリアル化または逆シリアル化を制御できるオブジェクトのことです。
ReturnMessage クラスは、リモートのメソッド呼び出し後に返された情報を保持します。 ReturnMessage には、戻り値と、リモートのメソッド呼び出しの結果として得られる out または ref などの任意のパラメータが格納されます。
クラス
クラス | 説明 |
---|---|
AsyncResult | 非同期デリゲートでの非同期操作の結果をカプセル化します。 |
CallContext | 実行コード パスと共に渡されるプロパティのセットを提供します。このクラスは継承できません。 |
Header | 呼び出しに関する帯域外データを定義します。 |
LogicalCallContext | リモートのメソッド呼び出し時に、実行コード パスと共に転送されるプロパティのセットを提供します。 |
OneWayAttribute | メソッドを、戻り値がなく、 out パラメータまたは ref パラメータを指定できない一方向のメソッドとしてマークします。 |
RemotingSurrogateSelector | MarshalByRefObject から派生したオブジェクトをシリアル化するために使用できるリモート処理サロゲートを選択します。 |
ReturnMessage | リモート オブジェクトに対するメソッド呼び出しへの応答として返されるメッセージを保持します。 |
インターフェイス
インターフェイス | 説明 |
---|---|
ILogicalThreadAffinative | LogicalCallContext に格納して、 AppDomain の外部に転送できるオブジェクトをマークします。 |
IMessage | 連携して動作する複数のメッセージ シンク間で送信される通信データを格納します。 |
IMessageCtrl | IMessageSink.AsyncProcessMessage を使用して、ディスパッチされた後の非同期メッセージを制御できるようにします。 |
IMessageSink | メッセージ シンクのインターフェイスを定義します。 |
IMethodCallMessage | メソッド呼び出しメッセージのインターフェイスを定義します。 |
IMethodMessage | メソッド メッセージのインターフェイスを定義します。 |
IMethodReturnMessage | メソッド呼び出しの応答メッセージのインターフェイスを定義します。 |
IRemotingFormatter | すべてのフォーマッタに対してリモート プロシージャ コール (RPC: Remote Procedure Call) インターフェイスを提供します。 |
デリゲート
デリゲート | 説明 |
---|---|
HeaderHandler | 逆シリアル化時にストリームにおいてヘッダーを処理するメソッドを表します。 |