ICommunicationObject.Close 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
導致通訊物件從目前的狀態轉換為已關閉狀態。
多載
Close() |
導致通訊物件從目前的狀態轉換為已關閉狀態。 |
Close(TimeSpan) |
導致通訊物件從目前的狀態轉換為已關閉狀態。 |
Close()
導致通訊物件從目前的狀態轉換為已關閉狀態。
public:
void Close();
public void Close ();
abstract member Close : unit -> unit
Public Sub Close ()
例外狀況
經過預設的關閉逾時時間之後,就可以正常關閉 ICommunicationObject。
備註
這個方法會使 ICommunicationObject 從狀態正常轉換 Opened 至 Closed 狀態。 Close 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。
會 ICommunicationObject 進入 Closing 狀態,並保留在狀態中,直到轉換到 Closed 狀態完成為止。
如果預設關閉逾時在 能夠正常關閉之前 ICommunicationObject 經過,則會 ICommunicationObject 中止 。
如果在 Close 、 Opening 或 Faulted 狀態的 Created 上 ICommunicationObject 呼叫 ,則會 ICommunicationObject 中止 。 如果在 Close 或 Closed 狀態的 Closing 上 ICommunicationObject 呼叫 ,則呼叫會立即傳回。
另外還有一個非同步版本的 close 方法,可藉由呼叫 來起始,並藉由呼叫 BeginClose Close 來完成。
適用於
Close(TimeSpan)
導致通訊物件從目前的狀態轉換為已關閉狀態。
public:
void Close(TimeSpan timeout);
public void Close (TimeSpan timeout);
abstract member Close : TimeSpan -> unit
Public Sub Close (timeout As TimeSpan)
參數
例外狀況
經過逾時時間之後,就可以正常關閉 ICommunicationObject。
備註
這個方法會使 ICommunicationObject 在指定的時間間隔內,從狀態正常轉換 Opened 到 Closed 狀態。 Close 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。
會 ICommunicationObject 進入 Closing 狀態,並保留在狀態中,直到轉換到 Closed 狀態完成為止。
如果 逾時在 能夠正常關閉之前 ICommunicationObject 經過,則會 ICommunicationObject 中止 。
如果在 Close 、 Opening 或 Faulted 狀態的 Created 上 ICommunicationObject 呼叫 ,則會 ICommunicationObject 中止 。 如果在 Close 或 Closed 狀態的 Closing 上 ICommunicationObject 呼叫 ,則呼叫會立即傳回。
另外還有一個非同步版本的 close 方法,可藉由呼叫 來起始,並藉由呼叫 BeginClose Close 來完成。
給實施者的注意事項
如果超過指定的 timeout
,作業必須擲回 TimeoutException 。