CommunicationObject.BeginClose 方法

定義

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

多載

BeginClose(AsyncCallback, Object)

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

BeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,關閉有已指定逾時的通訊物件。

BeginClose(AsyncCallback, Object)

來源:
CommunicationObject.cs
來源:
CommunicationObject.cs

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

C#
public IAsyncResult BeginClose(AsyncCallback callback, object state);

參數

callback
AsyncCallback

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

state
Object

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

傳回

參考非同步關閉作業的 IAsyncResult

實作

例外狀況

通訊物件並非處於 OpenedOpening 狀態,無法修改。

通訊物件處於 ClosingClosed 狀態,無法修改。

通訊物件處於 Faulted 狀態,無法修改。

已超過為作業分配的預設時間間隔,該作業未完成。

備註

這個方法可以在預設時間間隔內,將 CommunicationObjectClosed 狀態以外的任何狀態順利轉換至 Closed 狀態。 BeginClose 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。 如果通訊物件一開始處於 OnBeginOpen(TimeSpan, AsyncCallback, Object) 狀態,這個方法就會呼叫 Opened

適用於

.NET 10 (package-provided) 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
UWP 10.0

BeginClose(TimeSpan, AsyncCallback, Object)

來源:
CommunicationObject.cs
來源:
CommunicationObject.cs

開始非同步作業,關閉有已指定逾時的通訊物件。

C#
public IAsyncResult BeginClose(TimeSpan timeout, AsyncCallback callback, object state);

參數

timeout
TimeSpan

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

callback
AsyncCallback

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

state
Object

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

傳回

參考非同步關閉作業的 IAsyncResult

實作

例外狀況

通訊物件並非處於 OpenedOpening 狀態,無法修改。

通訊物件處於 ClosingClosed 狀態,無法修改。

通訊物件處於 Faulted 狀態,無法修改。

已超過為作業分配的預設時間間隔,該作業未完成。

備註

這個方法可以在指定的時間間隔內,將 CommunicationObjectClosed 狀態以外的任何狀態順利轉換至 Closed 狀態。 BeginClose 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。 如果通訊物件一開始處於 OnBeginClose(TimeSpan, AsyncCallback, Object) 狀態,這個方法就會呼叫 Opened

適用於

.NET 10 (package-provided) 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
UWP 10.0