导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文
此主题尚未评级 - 评价此主题

Binding.ReceiveTimeout 属性

获取或设置连接在撤消之前保持非活动状态的最大时间间隔,在此时间间隔内未接收任何应用程序消息。

命名空间:  System.ServiceModel.Channels
程序集:  System.ServiceModel(在 System.ServiceModel.dll 中)
public TimeSpan ReceiveTimeout { get; set; }

属性值

类型:System.TimeSpan
一个 Timespan,指定在超时前应用程序接收消息的时间。 默认值为 10 分钟。

实现

IDefaultCommunicationTimeouts.ReceiveTimeout
异常条件
ArgumentOutOfRangeException

值小于零或太大。

使用可靠会话时,必须同时满足两个不同的非活动计时器,才能使连接处于活动状态。 如果任一非活动计时器结束计时,则将断开连接。

  • 第一个非活动计时器为可靠会话计时器,称为 InactivityTimeout 如果在超时期限内没有收到任何应用程序消息或基础结构消息,此非活动计时器将激发。 基础结构消息是指为了通道堆栈中的协议之一(例如,保持活动状态或确认,而并非包含应用程序数据)而生成的消息。

  • 第二个非活动计时器为服务计时器,它使用绑定的 ReceiveTimeout 设置。 如果在超时期限内没有收到任何应用程序消息,此非活动计时器将激发。 例如,它可以指定服务器关闭会话所用的通道前,客户端向服务器发送至少一个消息所需的最长时间。 此行为确保了客户端不能无限期地占用服务器资源。

由于任一非活动计时器激发都会断开连接,因此单纯增大 InactivityTimeout(当其大于 ReceiveTimeout 时)不起任何作用。 这两个超时时间的默认值均为 10 分钟,因此在使用可靠会话时,必须同时增大这两个超时时间才会起作用。

如果对绑定或通道启用了事务流,执行操作所需的时间可能会比指定的超时时间长。 在这些情况下,将会因为超时过期而导致操作失败,事务也将随之中止。

在安全用于会话时,将绑定设置的 ReceiveTimeout 值也用作会话超时。

.NET Framework

受以下版本支持:4.5、4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.
本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈

社区附加资源

添加
显示:
© 2014 Microsoft. 版权所有。