CommunicationObject.BeginClose 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始非同步作業以關閉通訊物件。
多載
BeginClose(AsyncCallback, Object) |
開始非同步作業以關閉通訊物件。 |
BeginClose(TimeSpan, AsyncCallback, Object) |
開始非同步作業,關閉有已指定逾時的通訊物件。 |
BeginClose(AsyncCallback, Object)
開始非同步作業以關閉通訊物件。
public:
virtual IAsyncResult ^ BeginClose(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (AsyncCallback callback, object state);
abstract member BeginClose : AsyncCallback * obj -> IAsyncResult
override this.BeginClose : AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (callback As AsyncCallback, state As Object) As IAsyncResult
參數
- callback
- AsyncCallback
AsyncCallback 委派,這個委派會接收完成非同步關閉作業的通知。
- state
- Object
應用程式所指定的物件,其中包含與非同步關閉作業關聯的狀態資訊。
傳回
參考非同步關閉作業的 IAsyncResult。
實作
例外狀況
通訊物件處於 Faulted 狀態,無法修改。
已超過為作業分配的預設時間間隔,該作業未完成。
備註
這個方法可以在預設時間間隔內,將 CommunicationObject 從 Closed 狀態以外的任何狀態順利轉換至 Closed 狀態。 BeginClose 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。 如果通訊物件一開始處於 OnBeginOpen(TimeSpan, AsyncCallback, Object) 狀態,這個方法就會呼叫 Opened。
適用於
BeginClose(TimeSpan, AsyncCallback, Object)
開始非同步作業,關閉有已指定逾時的通訊物件。
public:
virtual IAsyncResult ^ BeginClose(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
override this.BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
參數
- callback
- AsyncCallback
AsyncCallback 委派,這個委派會接收完成非同步關閉作業的通知。
- state
- Object
應用程式所指定的物件,其中包含與非同步關閉作業關聯的狀態資訊。
傳回
參考非同步關閉作業的 IAsyncResult。
實作
例外狀況
通訊物件處於 Faulted 狀態,無法修改。
已超過為作業分配的預設時間間隔,該作業未完成。
備註
這個方法可以在指定的時間間隔內,將 CommunicationObject 從 Closed 狀態以外的任何狀態順利轉換至 Closed 狀態。 BeginClose 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。 如果通訊物件一開始處於 OnBeginClose(TimeSpan, AsyncCallback, Object) 狀態,這個方法就會呼叫 Opened。