IOutputChannel.BeginSend 方法

定義

開始傳送訊息的非同步作業。

多載

BeginSend(Message, AsyncCallback, Object)

開始非同步作業,將訊息傳送到輸出通道的目的端。

BeginSend(Message, TimeSpan, AsyncCallback, Object)

開始非同步作業,於指定的時間間隔內將訊息傳送給輸出通道的目的端。

BeginSend(Message, AsyncCallback, Object)

來源:
IOutputChannel.cs
來源:
IOutputChannel.cs
來源:
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
來源:
IOutputChannel.cs
來源:
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

適用於