IInputChannel インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
チャネルがメッセージを受信するために実装する必要があるインターフェイスを定義します。
public interface class IInputChannel : System::ServiceModel::Channels::IChannel
public interface IInputChannel : System.ServiceModel.Channels.IChannel
type IInputChannel = interface
interface IChannel
interface ICommunicationObject
Public Interface IInputChannel
Implements IChannel
- 派生
- 実装
注釈
重要
このインターフェイスを実装するクラスのメソッドの呼び出しを信頼されていないデータを指定して実行することは、セキュリティ上のリスクが伴います。 このインターフェイスを実装するクラスのメソッドの呼び出しは、信頼されたデータだけを指定して実行してください。 詳細については、「 すべての入力を検証する」を参照してください。
IInputChannel コントラクトには、受信、受信試行、およびメッセージ待機の各機能の同期と非同期のバリエーションが含まれます。
IInputChannel では、通常、メッセージを受信するためにプル モデルを使用します。Receive を呼び出して (チャネルからメッセージを "プル" して)、メッセージが到着するのを待ちます。 もう 1 つの使用パターンは、BeginWaitForMessage(TimeSpan, AsyncCallback, Object) または BeginWaitForMessage(TimeSpan, AsyncCallback, Object) を呼び出した後、Receive(TimeSpan) を呼び出します。 この方法は、WaitForMessage(TimeSpan) と Receive の呼び出しの間でトランザクションを開始するトランザクション使用に共通です。
IInputChannel は、必ずしも単一の送信元にバインドされているとは限りません。 他のチャネルおよびチャネル インターフェイスが特定の送信元と IInputChannel の間の相関関係を提供できますが、基本コントラクトにはそのような制限はありません。 実装では、メッセージごとに新しい IInputChannel を作成することも、複数のメッセージと送信元に対して同じ IInputChannel を再利用することもできます。
プロパティ
LocalAddress |
入力チャネルがメッセージを受信するアドレスを取得します。 |
State |
通信指向オブジェクトの現在の状態を取得します。 (継承元 ICommunicationObject) |
メソッド
Abort() |
通信オブジェクトを、現在の状態から Closed 状態に直ちに遷移させます。 (継承元 ICommunicationObject) |
BeginClose(AsyncCallback, Object) |
通信オブジェクトをクローズするための非同期操作を開始します。 (継承元 ICommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
タイムアウトを指定して、通信オブジェクトをクローズするための非同期操作を開始します。 (継承元 ICommunicationObject) |
BeginOpen(AsyncCallback, Object) |
通信オブジェクトを開くための非同期操作を開始します。 (継承元 ICommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
指定した時間内で通信オブジェクトを開くための非同期操作を開始します。 (継承元 ICommunicationObject) |
BeginReceive(AsyncCallback, Object) |
状態オブジェクトが関連付けられているメッセージを受信するための非同期操作を開始します。 |
BeginReceive(TimeSpan, AsyncCallback, Object) |
タイムアウトが指定され、状態オブジェクトが関連付けられているメッセージを受信するための、非同期操作を開始します。 |
BeginTryReceive(TimeSpan, AsyncCallback, Object) |
タイムアウトが指定され、状態オブジェクトが関連付けられているメッセージを受信するための、非同期操作を開始します。 |
BeginWaitForMessage(TimeSpan, AsyncCallback, Object) |
タイムアウトが指定され、状態オブジェクトが関連付けられている、非同期メッセージ受信待機操作を開始します。 |
Close() |
通信オブジェクトを、現在の状態から Closed 状態に遷移させます。 (継承元 ICommunicationObject) |
Close(TimeSpan) |
通信オブジェクトを、現在の状態から Closed 状態に遷移させます。 (継承元 ICommunicationObject) |
EndClose(IAsyncResult) |
通信オブジェクトをクローズするための非同期操作を完了します。 (継承元 ICommunicationObject) |
EndOpen(IAsyncResult) |
通信オブジェクトを開くための非同期操作を完了します。 (継承元 ICommunicationObject) |
EndReceive(IAsyncResult) |
メッセージを受信するための非同期操作を完了します。 |
EndTryReceive(IAsyncResult, Message) |
メッセージを受信するための指定した非同期操作を完了します。 |
EndWaitForMessage(IAsyncResult) |
指定した非同期のメッセージ待機操作を完了します。 |
GetProperty<T>() |
チャネル スタックの適切な層から、要求のあった型指定されたオブジェクト (ある場合) を返します。 (継承元 IChannel) |
Open() |
通信オブジェクトを、Created 状態から Opened 状態に遷移させます。 (継承元 ICommunicationObject) |
Open(TimeSpan) |
指定した時間内で、通信オブジェクトを Created 状態から Opened 状態に遷移させます。 (継承元 ICommunicationObject) |
Receive() |
利用できるメッセージがある場合、受信したメッセージを返します。 メッセージが利用できない場合は、既定の時間が経過するまでブロックします。 |
Receive(TimeSpan) |
利用できるメッセージがある場合、受信したメッセージを返します。 メッセージが利用できない場合は、指定した時間が経過するまでブロックします。 |
TryReceive(TimeSpan, Message) |
指定された時間内にメッセージの受信を試みます。 |
WaitForMessage(TimeSpan) |
指定した時間内にメッセージが到着したかどうかを示す値を返します。 |
イベント
Closed |
通信オブジェクトが、Closing 状態から Closed 状態への通信状態の遷移を完了したときに発生します。 (継承元 ICommunicationObject) |
Closing |
通信オブジェクトが初めて Closing 状態に遷移するときに発生します。 (継承元 ICommunicationObject) |
Faulted |
通信オブジェクトが初めて Faulted 状態に遷移するときに発生します。 (継承元 ICommunicationObject) |
Opened |
通信オブジェクトが、Opening 状態から Opened 状態への通信状態の遷移を完了したときに発生します。 (継承元 ICommunicationObject) |
Opening |
通信オブジェクトが初めて Opening 状態に遷移するときに発生します。 (継承元 ICommunicationObject) |
拡張メソッド
CloseHelperAsync(ICommunicationObject, TimeSpan) |
チャネルがメッセージを受信するために実装する必要があるインターフェイスを定義します。 |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
チャネルがメッセージを受信するために実装する必要があるインターフェイスを定義します。 |
適用対象
.NET