ICommunicationObject.Open 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
導致通訊物件從已建立狀態轉換為已開啟狀態。
多載
Open() |
導致通訊物件從已建立狀態轉換為已開啟狀態。 |
Open(TimeSpan) |
在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。 |
備註
有明確逾時或無明確逾時的版本都會提供。
Open()
導致通訊物件從已建立狀態轉換為已開啟狀態。
public:
void Open();
public void Open ();
abstract member Open : unit -> unit
Public Sub Open ()
例外狀況
ICommunicationObject 無法開啟,而且已進入 Faulted 狀態。
經過預設的開啟逾時時間之後,ICommunicationObject 就可以進入 Opened 狀態,而且也已進入 Faulted 狀態。
備註
ICommunicationObject具現化時,它會從 狀態開始 Created 。 在 Created 狀態下,可以設定物件 (例如可以設定屬性或註冊事件),但是仍無法傳送或接收訊息。 方法 Open 會導致 ICommunicationObject 進入 Opening 狀態,直到開啟的作業成功、開啟作業逾時或失敗,且物件發生錯誤或 ICommunicationObject 中止為止。
Opened在 狀態中, ICommunicationObject 可以使用 (例如,訊息可以接收) ,但無法再設定。
也有非同步的方式可用於開啟方法,亦即藉由呼叫 BeginOpen 啟始,呼叫 EndOpen(IAsyncResult) 完成。
適用於
Open(TimeSpan)
在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。
public:
void Open(TimeSpan timeout);
public void Open (TimeSpan timeout);
abstract member Open : TimeSpan -> unit
Public Sub Open (timeout As TimeSpan)
參數
例外狀況
ICommunicationObject 無法開啟,而且已進入 Faulted 狀態。
經過指定的逾時時間之後,ICommunicationObject 就可以進入 Opened 狀態,而且也已進入 Faulted 狀態。
備註
ICommunicationObject具現化時,它會從 狀態開始 Created 。 在 Created 狀態下,可以設定物件 (例如可以設定屬性或註冊事件),但是仍無法傳送或接收訊息。 方法 Open 會導致 ICommunicationObject 進入 Opening 狀態,直到開啟的作業成功、開啟作業逾時或失敗,且物件發生錯誤或 ICommunicationObject 中止為止。
Opened在 狀態中, ICommunicationObject 可以使用 (例如,訊息可以接收) ,但無法再設定。
也有非同步的方式可用於開啟方法,亦即藉由呼叫 BeginOpen 啟始,呼叫 EndOpen(IAsyncResult) 完成。
給實施者的注意事項
如果超過指定的 timeout
,作業必須擲回 TimeoutException 。