IRequestChannel.BeginRequest 方法

定義

開始非同步作業,以便將要求訊息傳輸至要求-回覆訊息交換的回覆端。

多載

BeginRequest(Message, AsyncCallback, Object)

開始非同步作業,以便將要求訊息傳輸至要求-回覆訊息交換的回覆端。

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

開始非同步作業,以便在指定的時間間隔內,將要求訊息傳輸至要求-回覆訊息交換的回覆端。

BeginRequest(Message, AsyncCallback, Object)

來源:
IRequestChannel.cs
來源:
IRequestChannel.cs
來源:
IRequestChannel.cs

開始非同步作業,以便將要求訊息傳輸至要求-回覆訊息交換的回覆端。

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

參數

message
Message

要傳輸的要求 Message

callback
AsyncCallback

AsyncCallback 委派 (Delegate),這個委派會在非同步傳輸要求訊息作業完成時,收到通知。

state
Object

應用程式所指定的物件,其中包含與非同步傳輸要求訊息作業相關聯的狀態資訊。

傳回

參考非同步訊息傳輸的 IAsyncResult

範例

下列程式碼會示範如何實作這個方法。

public IAsyncResult BeginRequest(Message message,
    AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginRequest(message,
        callback, state);
}

備註

如果要求訊息大於要使用之繫結所允許的訊息大小上限,則會擲回 QuotaExceededException。 訊息大小上限是由 MaxReceivedMessageSize 屬性所設定。 預設值為 65536 個位元組。

適用於

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

來源:
IRequestChannel.cs
來源:
IRequestChannel.cs
來源:
IRequestChannel.cs

開始非同步作業,以便在指定的時間間隔內,將要求訊息傳輸至要求-回覆訊息交換的回覆端。

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

參數

message
Message

要傳輸的要求 Message

timeout
TimeSpan

指定必須收到回應之時間間隔的 TimeSpan

callback
AsyncCallback

AsyncCallback 委派 (Delegate),這個委派會在非同步傳輸要求訊息作業完成時,收到通知。

state
Object

應用程式所指定的物件,其中包含與非同步傳輸要求訊息作業相關聯的狀態資訊。

傳回

參考非同步訊息傳輸的 IAsyncResult

範例

下列程式碼會示範如何實作這個方法:

public IAsyncResult BeginRequest(Message message,
    TimeSpan timeout, AsyncCallback callback,
    object state)
{
    return this.InnerChannel.BeginRequest(message,
        timeout, callback, state);
}

備註

如果要求訊息大於要使用之繫結所允許的訊息大小上限,則應該擲回 QuotaExceededException。 訊息大小上限是由 MaxReceivedMessageSize 屬性所設定。 預設值為 65536 個位元組。

如果在呼叫此函式時傳遞 timeout,則會使用該值。 如果在繫結上設定 SendTimeout,則如果在呼叫此函式時未指定任何 timeout,便會使用繫結上的值。

如果在繫結上或是呼叫此函式時,未指定任何逾時值,則會使用 DefaultSendTimeout。 這個預設值為 1 分鐘。

給實施者的注意事項

如果在作業完成之前超出了指定的 TimeoutException,此作業應該擲回 timeout

適用於