本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

CommunicationObject.Close 方法 (TimeSpan)

 

发布日期: 2016年7月

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

命名空间:   System.ServiceModel.Channels
程序集:  System.ServiceModel(位于 System.ServiceModel.dll)

public void Close(
	TimeSpan timeout
)

参数

timeout
Type: System.TimeSpan

TimeSpan,指定在超时前必须完成关闭操作的时间。

Exception Condition
InvalidOperationException

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

ObjectDisposedException

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

CommunicationObjectFaultedException

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

TimeoutException

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

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

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

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

通用 Windows 平台
自 8 起可用
.NET Framework
自 3.0 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
返回页首
显示: