ICommunicationObject.Open 方法

定義

導致通訊物件從已建立狀態轉換為已開啟狀態。

多載

Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。

Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。

備註

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

Open()

來源:
ICommunicationObject.cs
來源:
ICommunicationObject.cs

導致通訊物件從已建立狀態轉換為已開啟狀態。

C#
public void Open();

例外狀況

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

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

備註

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

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

也有非同步的方式可用於開啟方法,亦即藉由呼叫 BeginOpen 啟始,呼叫 EndOpen(IAsyncResult) 完成。

適用於

.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

Open(TimeSpan)

來源:
ICommunicationObject.cs
來源:
ICommunicationObject.cs

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。

C#
public void Open(TimeSpan timeout);

參數

timeout
TimeSpan

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

例外狀況

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

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

備註

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

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

也有非同步的方式可用於開啟方法,亦即藉由呼叫 BeginOpen 啟始,呼叫 EndOpen(IAsyncResult) 完成。

給實施者的注意事項

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

適用於

.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