IRequestChannel.Request メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メッセージ ベースの要求を送信し、対応するメッセージ ベースの応答を返します。
オーバーロード
Request(Message) |
メッセージ ベースの要求を送信し、対応するメッセージ ベースの応答を返します。 |
Request(Message, TimeSpan) |
指定した時間内に、メッセージ ベースの要求を送信し、対応するメッセージ ベースの応答を返します。 |
Request(Message)
メッセージ ベースの要求を送信し、対応するメッセージ ベースの応答を返します。
public:
System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message);
abstract member Request : System.ServiceModel.Channels.Message -> System.ServiceModel.Channels.Message
Public Function Request (message As Message) As Message
パラメーター
戻り値
要求に対する応答として受信した Message。
例
次のコードは、このメソッドを実装する方法を示しています。
public Message Request(Message message)
{
return this.InnerChannel.Request(message);
}
注釈
IRequestChannel の実装により、応答メッセージが要求メッセージと確実に関連付けられます。
一般に、IRequestChannel の実装では、保留中の要求に関連付けられていないメッセージを受信すると、そのメッセージは削除されます。
Request メソッドは、複数のスレッドで同時に呼び出すことができます。
メッセージを要求チャネルに渡すと、メッセージにアクセスされます。 Request を呼び出した後は、メッセージの検査、そのメッセージでの Close の呼び出しはできなくなります。
要求メッセージが、使用されるバインドで許可されている最大メッセージ サイズを超える場合は、QuotaExceededException がスローされます。 最大メッセージ サイズは、MaxReceivedMessageSize プロパティで設定されます。 既定値は 65536 バイトです。
適用対象
Request(Message, TimeSpan)
指定した時間内に、メッセージ ベースの要求を送信し、対応するメッセージ ベースの応答を返します。
public:
System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Request : System.ServiceModel.Channels.Message * TimeSpan -> System.ServiceModel.Channels.Message
Public Function Request (message As Message, timeout As TimeSpan) As Message
パラメーター
戻り値
要求に対する応答として受信した Message。
例
次のコードは、このメソッドを実装する方法を示しています。
public Message Request(Message message, TimeSpan timeout)
{
return this.InnerChannel.Request(message, timeout);
}
注釈
IRequestChannel の実装により、応答メッセージが要求メッセージと確実に関連付けられます。
一般に、IRequestChannel の実装では、保留中の要求に関連付けられていないメッセージを受信すると、そのメッセージは削除されます。
Request メソッドは、複数のスレッドで同時に呼び出すことができます。
メッセージを要求チャネルに渡すと、メッセージにアクセスされます。 Request を呼び出した後は、メッセージの検査、そのメッセージでの Close の呼び出しはできなくなります。
要求メッセージが、使用されるバインドで許可されている最大メッセージ サイズを超える場合は、QuotaExceededException がスローされます。 最大メッセージ サイズは、MaxReceivedMessageSize プロパティで設定されます。 既定値は 65536 バイトです。
関数の呼び出し時に timeout
が渡された場合は、その値が使用されます。 バインドで SendTimeout が設定されている場合は、関数の呼び出し時に timeout
が指定されないと、バインドでの値が使用されます。
バインドでも、関数の呼び出し時にも、タイムアウトが指定されていない場合は、DefaultSendTimeout が使用されます。 既定値は 1 分です。
注意 (実装者)
操作を完了する前に指定した TimeoutException が経過した場合、操作は timeout
をスローする必要があります。
適用対象
.NET