IOutputChannel.Send メソッド

定義

現在の出力チャネルでメッセージを送信します。

オーバーロード

Send(Message)

出力チャネルの送信先にメッセージを送信します。

Send(Message, TimeSpan)

指定した時間内に現在の出力チャネルでメッセージを送信します。

Send(Message)

出力チャネルの送信先にメッセージを送信します。

public:
 void Send(System::ServiceModel::Channels::Message ^ message);
public void Send (System.ServiceModel.Channels.Message message);
abstract member Send : System.ServiceModel.Channels.Message -> unit
Public Sub Send (message As Message)

パラメーター

message
Message

出力チャネルで送信される Message

このメソッドを実装する方法を次のコードに示します。

public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

注釈

出力チャネルで送信されるメッセージの送信先は、チャネルの作成時に指定されます。

Send メソッドは、リモート エンドポイントへのメッセージ配信を保証しません。 IOutputChannel の実装では、さまざまな理由で、メッセージがエラー表示なしで削除されます。 たとえば、バッファーに空きがない場合が考えられます。 配信保証が必要な場合は、IOutputSessionChannel を使用します。

メッセージを出力チャネルに渡すと、メッセージが処理されます。 Send を呼び出した後は、メッセージの検査、そのメッセージでの Close の呼び出しはできなくなります。

適用対象

Send(Message, TimeSpan)

指定した時間内に現在の出力チャネルでメッセージを送信します。

public:
 void Send(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public void Send (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Send : System.ServiceModel.Channels.Message * TimeSpan -> unit
Public Sub Send (message As Message, timeout As TimeSpan)

パラメーター

message
Message

出力チャネルで送信される Message

timeout
TimeSpan

送信操作を完了する必要がある、タイムアウトまでの制限時間を指定する TimeSpan

このメソッドを実装する方法を次のコードに示します。

public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
    return TryReceiveRequestAsyncResult.End(result, out requestContext);
}

注釈

出力チャネルで送信されるメッセージの送信先は、チャネルの作成時に指定されます。

Send メソッドは、リモート エンドポイントへのメッセージ配信を保証しません。 IOutputChannel の実装では、さまざまな理由で、メッセージがエラー表示なしで削除されます。 たとえば、バッファーに空きがない場合が考えられます。 配信保証が必要な場合は、IOutputSessionChannel を使用します。

メッセージを出力チャネルに渡すと、メッセージが処理されます。 Send を呼び出した後は、メッセージの検査、そのメッセージでの Close の呼び出しはできなくなります。

注意 (実装者)

指定した TimeoutException が経過した場合、操作は timeout をスローする必要があります。

適用対象