CommunicationObject.Close 方法

定义

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

重载

Close()

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

Close(TimeSpan)

使通信对象在指定时间间隔内从当前状态转换到关闭状态。

Close()

Source:
CommunicationObject.cs
Source:
CommunicationObject.cs
Source:
CommunicationObject.cs

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

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

实现

例外

通信对象未处于 OpenedOpening 状态,因此无法修改。

通信对象处于 ClosingClosed 状态,因此无法修改。

通信对象处于 Faulted 状态,因此无法修改。

在操作完成之前超出了分配给该操作的默认时间间隔。

注解

此方法使 CommunicationObject 从除 Closed 状态之外的任意状态正常转换到 Closed 状态。 使用 Close 方法,可在返回之前完成所有未完成的工作。 例如,完成所有缓冲消息的发送。

在调用 CommunicationObject 方法之后,Closing 将进入并保持 Close 状态,直到完成到 Closed 状态的转换。 转换包括对 OnClosingOnClose(TimeSpan)OnClosed 的连续调用。

还有一个关闭方法的异步版本,可通过调用 BeginClose 来启动。

适用于

Close(TimeSpan)

Source:
CommunicationObject.cs
Source:
CommunicationObject.cs
Source:
CommunicationObject.cs

使通信对象在指定时间间隔内从当前状态转换到关闭状态。

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,指定在超时前必须完成关闭操作的时间。

实现

例外

通信对象未处于 OpenedOpening 状态,因此无法修改。

通信对象处于 ClosingClosed 状态,因此无法修改。

通信对象处于 Faulted 状态,因此无法修改。

在操作完成之前超出了分配给该操作的默认时间间隔。

注解

此方法使 CommunicationObject 在指定时间间隔内从除 Closed 状态之外的任意状态正常转换到 Closed 状态。 使用 Close 方法,可在返回之前完成所有未完成的工作。 例如,完成所有缓冲消息的发送。

在调用 CommunicationObject 方法之后,Closing 将进入并保持 Close 状态,直到完成到 Closed 状态的转换。 转换包括对 OnClosing, OnClose(TimeSpan)OnClosed 的连续调用。

还有一个关闭方法的异步版本,可通过调用 BeginClose 来启动。

适用于