ICommunicationObject.Close 方法

定義

導致通訊物件從目前的狀態轉換為已關閉狀態。

多載

Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。

Close(TimeSpan)

導致通訊物件從目前的狀態轉換為已關閉狀態。

Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。

public:
 void Close();
public void Close ();
abstract member Close : unit -> unit
Public Sub Close ()

例外狀況

已針對處於 Close() 狀態中的物件呼叫 Faulted

經過預設的關閉逾時時間之後,就可以正常關閉 ICommunicationObject

備註

這個方法會使 ICommunicationObject 從狀態正常轉換 OpenedClosed 狀態。 Close 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。

ICommunicationObject 進入 Closing 狀態,並保留在狀態中,直到轉換到 Closed 狀態完成為止。

Close 一旦達到狀態,就會 Closed 傳回 。

如果預設關閉逾時在 能夠正常關閉之前 ICommunicationObject 經過,則會 ICommunicationObject 中止 。

如果在 CloseOpeningFaulted 狀態的 CreatedICommunicationObject 呼叫 ,則會 ICommunicationObject 中止 。 如果在 CloseClosed 狀態的 ClosingICommunicationObject 呼叫 ,則呼叫會立即傳回。

另外還有一個非同步版本的 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)

參數

timeout
TimeSpan

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

例外狀況

已針對處於 Close() 狀態中的物件呼叫 Faulted

經過逾時時間之後,就可以正常關閉 ICommunicationObject

備註

這個方法會使 ICommunicationObject 在指定的時間間隔內,從狀態正常轉換 OpenedClosed 狀態。 Close 方法可讓任何未完成的工作在傳回前完成 (例如,完成傳送任何經過緩衝處理的訊息)。

ICommunicationObject 進入 Closing 狀態,並保留在狀態中,直到轉換到 Closed 狀態完成為止。

Close 一旦達到狀態,就會 Closed 傳回 。

如果 逾時在 能夠正常關閉之前 ICommunicationObject 經過,則會 ICommunicationObject 中止 。

如果在 CloseOpeningFaulted 狀態的 CreatedICommunicationObject 呼叫 ,則會 ICommunicationObject 中止 。 如果在 CloseClosed 狀態的 ClosingICommunicationObject 呼叫 ,則呼叫會立即傳回。

另外還有一個非同步版本的 close 方法,可藉由呼叫 來起始,並藉由呼叫 BeginClose Close 來完成。

給實施者的注意事項

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

適用於