IInputChannel.Receive メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
入力チャネルが受信したメッセージを、明示的または暗黙的に定義された時間間隔で使用できる場合に返します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Receive() |
受信したメッセージ (使用可能な場合) を返します。 メッセージが使用できない場合は、既定の時間間隔でブロックします。 |
| Receive(TimeSpan) |
受信したメッセージ (使用可能な場合) を返します。 メッセージが使用できない場合は、指定した期間ブロックします。 |
注釈
現在のスレッドが要求メッセージを受信するか、timeoutで指定された時間間隔を超えるまでブロックできる場合は、同期Receive メソッドを使用します。 要求の受信を待たずにアプリケーション処理を続行する必要がある場合は、非同期 BeginReceive メソッドを使用します。
同期 Receive 操作は、明示的なタイムアウトの有無にかかわらず使用できます。
メッセージが使用できない場合は、メッセージが使用可能になるまで、またはタイムアウトを超えるまでブロックされます。
Receive()
受信したメッセージ (使用可能な場合) を返します。 メッセージが使用できない場合は、既定の時間間隔でブロックします。
public:
System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message
返品
受信した Message 。
例
次のコードは、このメソッドを実装する方法を示しています。
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
注釈
現在のスレッドが要求メッセージを受信するか、timeoutで指定された時間間隔を超えるまでブロックできる場合は、同期Receive メソッドを使用します。 要求の受信を待たずにアプリケーション処理を続行する場合は、非同期 BeginReceive メソッドを使用します。
同期 Receive 操作は、明示的なタイムアウトの有無にかかわらず使用できます。
メッセージが使用できない場合は、メッセージが使用可能になるまで、またはタイムアウトを超えるまでブロックされます。
Receive は、複数回または同時に呼び出すことができます。 受信したメッセージごとに完了できる Receive 呼び出しは 1 つだけです。
適用対象
Receive(TimeSpan)
受信したメッセージ (使用可能な場合) を返します。 メッセージが使用できない場合は、指定した期間ブロックします。
public:
System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive(TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message
パラメーター
- timeout
- TimeSpan
タイムアウトしてTimeoutExceptionをスローするまでに受信操作を完了する必要がある時間を指定するTimeSpan。
返品
受信した Message 。
例外
指定した timeout を超えると、操作が完了します。
指定されたタイムアウトが 0 未満です。
例
次のコードは、このメソッドを実装する方法を示しています。
public Message Receive(TimeSpan timeout)
{
Message message;
while (true)
{
message = this.InnerChannel.Receive(timeout);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return message;
}
注釈
現在のスレッドが要求メッセージを受信するか、timeoutで指定された時間間隔を超えるまでブロックできる場合は、同期Receive メソッドを使用します。 要求の受信を待たずにアプリケーション処理を続行する場合は、非同期 BeginReceive メソッドを使用します。
同期 Receive 操作は、明示的なタイムアウトの有無にかかわらず使用できます。
メッセージが使用できない場合は、メッセージが使用可能になるまで、またはタイムアウトを超えるまでブロックされます。
Receive は、複数回または同時に呼び出すことができます。 受信したメッセージごとに完了できる Receive 呼び出しは 1 つだけです。