CommunicationObject.Close メソッド

定義

通信オブジェクトを、現在の状態から Closed 状態に遷移させます。

オーバーロード

Close()

通信オブジェクトを、現在の状態から Closed 状態に遷移させます。

Close(TimeSpan)

指定した時間内で、通信オブジェクトを現在の状態から Closed 状態に遷移させます。

Close()

通信オブジェクトを、現在の状態から Closed 状態に遷移させます。

public:
 virtual void Close();
public void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()

実装

例外

通信オブジェクトは、Opened 状態または Opening 状態ではなく、変更できません。

通信オブジェクトは、Closing 状態または Closed 状態であり、変更できません。

通信オブジェクトは、Faulted 状態であり、変更できません。

操作に割り当てられている既定の時間が、操作が完了する前に経過しました。

注釈

このメソッドは、CommunicationObjectClosed 以外の状態から Closed 状態に正常に移行します。 Close メソッドにより、戻る前に未完了の作業を完了できます。 たとえば、バッファー内のメッセージの送信を完了します。

CommunicationObjectClosing 状態になり、その状態は、Close メソッドが呼び出された後、Closed 状態への遷移が完了するまで維持されます。 遷移は、OnClosingOnClose(TimeSpan)、および OnClosed の連続した呼び出しで構成されます。

BeginClose 呼び出しで開始される非同期バージョンの close メソッドもあります。

適用対象

Close(TimeSpan)

指定した時間内で、通信オブジェクトを現在の状態から Closed 状態に遷移させます。

public:
 virtual void Close(TimeSpan timeout);
public void Close (TimeSpan timeout);
abstract member Close : TimeSpan -> unit
override this.Close : TimeSpan -> unit
Public Sub Close (timeout As TimeSpan)

パラメーター

timeout
TimeSpan

クローズ操作がタイムアウトになるまでの時間を表す TimeSpan

実装

例外

通信オブジェクトは、Opened 状態または Opening 状態ではなく、変更できません。

通信オブジェクトは、Closing 状態または Closed 状態であり、変更できません。

通信オブジェクトは、Faulted 状態であり、変更できません。

操作に割り当てられている既定の時間が、操作が完了する前に経過しました。

注釈

このメソッドは、CommunicationObject を、Closed 状態以外の任意の状態から Closed 状態に、指定した時間内で正常に遷移させます。 Close メソッドにより、戻る前に未完了の作業を完了できます。 たとえば、バッファー内のメッセージの送信を完了します。

CommunicationObjectClosing 状態になり、その状態は、Close メソッドが呼び出された後、Closed 状態への遷移が完了するまで維持されます。 遷移は、OnClosingOnClose(TimeSpan)、および OnClosed の連続した呼び出しで構成されます。

BeginClose 呼び出しで開始される非同期バージョンの close メソッドもあります。

適用対象