ICommunicationObject.Close 方法

定义

使通信对象从其当前状态转换到关闭状态。

重载

Close()

使通信对象从其当前状态转换到关闭状态。

Close(TimeSpan)

使通信对象从其当前状态转换到关闭状态。

Close()

使通信对象从其当前状态转换到关闭状态。

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

例外

对处于 Close() 状态的对象调用了 Faulted

ICommunicationObject 能够正常关闭之前所经过的默认关闭超时。

注解

此方法导致 ICommunicationObject 正常从 Opened 状态过渡到 Closed 状态。 使用 Close 方法,可在返回之前完成所有未完成的工作。 例如,完成所有缓冲的消息的发送)。

输入 ICommunicationObject 状态 Closing ,并保留在状态中,直到过渡到 Closed 状态完成。

Close 达到状态后 Closed 返回。

如果默认的关闭超时在能够正常关闭之前 ICommunicationObject 结束,则会 ICommunicationObject 中止。

如果Close对处于或FaultedOpening状态的Created某个对象调用ICommunicationObject,则ICommunicationObject中止。 如果 Close 调用 ICommunicationObject 处于 ClosingClosed 状态,则调用会立即返回。

还有一个异步版本的 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 在指定的时间间隔内正常从 Opened 状态过渡到 Closed 状态。 使用 Close 方法,可在返回之前完成所有未完成的工作。 例如,完成所有缓冲的消息的发送)。

输入 ICommunicationObject 状态 Closing ,并保留在状态中,直到过渡到 Closed 状态完成。

Close 达到状态后 Closed 返回。

如果超时在能够正常关闭之前 ICommunicationObject 运行,则会 ICommunicationObject 中止。

如果Close对处于或FaultedOpening状态的Created某个对象调用ICommunicationObject,则ICommunicationObject中止。 如果 Close 调用 ICommunicationObject 处于 ClosingClosed 状态,则调用会立即返回。

还有一个异步版本的 close 方法,该方法通过调用 BeginClose 和完成调用 Close启动。

实施者说明

如果超出指定timeout值,该操作必须引发TimeoutException

适用于