IOutputChannel.BeginSend メソッド

定義

メッセージ送信の非同期操作を開始します。

オーバーロード

BeginSend(Message, AsyncCallback, Object)

出力チャネルの送信先に対してメッセージを送信する非同期操作を開始します。

BeginSend(Message, TimeSpan, AsyncCallback, Object)

指定した時間内での出力チャネルの送信先に対するメッセージ送信の非同期操作を開始します。

BeginSend(Message, AsyncCallback, Object)

ソース:
IOutputChannel.cs

出力チャネルの送信先に対してメッセージを送信する非同期操作を開始します。

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

message
Message

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

callback
AsyncCallback

AsyncCallback デリゲート。

state
Object

非同期送信操作に関連付けられている状態情報を格納するオブジェクト。アプリケーションで指定します。

戻り値

非同期メッセージ転送を参照する IAsyncResult

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

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

注釈

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

BeginSend メソッドは、リモート エンドポイントへのメッセージ配信を保証しません。 配信保証が必要な場合は、IOutputSessionChannel を使用します。

送信されたメッセージが、使用されるバインドで許可されている最大メッセージ サイズを超える場合は、QuotaExceededException がスローされます。 最大メッセージ サイズは、MaxReceivedMessageSize プロパティで設定されます。 既定値は 65536 バイトです。

適用対象

BeginSend(Message, TimeSpan, AsyncCallback, Object)

ソース:
IOutputChannel.cs

指定した時間内での出力チャネルの送信先に対するメッセージ送信の非同期操作を開始します。

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

message
Message

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

timeout
TimeSpan

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

callback
AsyncCallback

非同期操作送信の完了通知を受信する AsyncCallback デリゲート。

state
Object

非同期送信操作に関連付けられている状態情報を格納するオブジェクト。アプリケーションで指定します。

戻り値

非同期の送信操作を参照する IAsyncResult

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

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

注釈

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

BeginSend メソッドは、リモート エンドポイントへのメッセージ配信を保証しません。 配信保証が必要な場合は、IOutputSessionChannel を使用します。

送信されたメッセージが、使用されるバインドで許可されている最大メッセージ サイズを超える場合は、QuotaExceededException がスローされます。 最大メッセージ サイズは、MaxReceivedMessageSize プロパティで設定されます。 既定値は 65536 バイトです。

注意 (実装者)

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

適用対象