ICommunicationObject.BeginOpen 方法

定義

開始非同步作業以開啟通訊物件。

多載

BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。

BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。

備註

方法 BeginOpen 會使 ICommunicationObject 進入 Opening 狀態,直到其轉換至 Opened 狀態完成或失敗為止。

有明確逾時或無明確逾時的版本都會提供。

BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。

public:
 IAsyncResult ^ BeginOpen(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginOpen (AsyncCallback callback, object state);
abstract member BeginOpen : AsyncCallback * obj -> IAsyncResult
Public Function BeginOpen (callback As AsyncCallback, state As Object) As IAsyncResult

參數

callback
AsyncCallback

AsyncCallback 委派,這個委派會接收非同步開啟作業完成的通知。

state
Object

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

傳回

IAsyncResult

參考非同步開啟作業的 IAsyncResult

例外狀況

ICommunicationObject 無法開啟,而且已進入 Faulted 狀態。

經過預設的開啟逾時時間之後,ICommunicationObject 就可以進入 Opened 狀態,而且也已進入 Faulted 狀態。

備註

ICommunicationObject具現化時,它會從 Created 狀態開始。 在 Created 狀態下,可以設定物件 (例如可以設定屬性或註冊事件),但是仍無法傳送或接收訊息。 方法 BeginOpen 會導致 ICommunicationObject 進入 Opening 狀態,直到開啟作業成功為止、開啟作業逾時或失敗,而且物件發生錯誤或 ICommunicationObject 中止為止。

Opened在 狀態中 ICommunicationObject ,可以使用 (例如,訊息可以) 接收,但無法再設定。

適用於

BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。

public:
 IAsyncResult ^ BeginOpen(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginOpen (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginOpen : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginOpen (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

參數

timeout
TimeSpan

TimeSpan,指定必須在逾時前多久完成傳送作業。

callback
AsyncCallback

AsyncCallback 委派,這個委派會接收非同步開啟作業完成的通知。

state
Object

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

傳回

IAsyncResult

參考非同步開啟作業的 IAsyncResult

例外狀況

ICommunicationObject 無法開啟,而且已進入 Faulted 狀態。

經過指定的逾時時間之後,ICommunicationObject 就可以進入 Opened 狀態,而且也已進入 Faulted 狀態。

備註

ICommunicationObject具現化時,它會從 Created 狀態開始。 在 Created 狀態下,可以設定物件 (例如可以設定屬性或註冊事件),但是仍無法傳送或接收訊息。 方法 Open 會導致 ICommunicationObject 進入 Opening 狀態,直到開啟作業成功為止、開啟作業逾時或失敗,而且物件發生錯誤或 ICommunicationObject 中止為止。

Opened在 狀態中 ICommunicationObject ,可以使用 (例如,訊息可以) 接收,但無法再設定。

給實施者的注意事項

如果超過指定的 timeout ,作業必須擲回 TimeoutException

適用於