ReliableSessionElement.MaxRetryCount 属性

定义

获取或设置可靠通道未收到消息确认时,通过在其基础通道上调用 Send 来尝试重新传输该消息的最大次数。

[System.Configuration.ConfigurationProperty("maxRetryCount", DefaultValue=8)]
[System.Configuration.IntegerValidator(MinValue=1)]
public int MaxRetryCount { get; set; }

属性值

可靠通道未收到消息确认时,通过在其基础通道上调用 Send 来尝试重新传输该消息的最大次数。 最小值为 1;最大值为 20;默认值为 8。

属性

注解

此值应为大于零的整数。 如果在最后一次重新传输后未收到确认,则通道出错。

如果接收方在接收时确认了消息的传递,则认为该消息已传输。

如果在传输消息后的一段确定时间内未收到确认,则基础结构将自动重新传输该消息。 此基础结构尝试重新发送消息的次数最多为此属性指定的次数。 如果在最后一次重新传输后未收到确认,则通道出错。

基础结构使用指数补偿算法根据计算的平均往返时间来确定何时重新传输。 在重新传输之前,此时间最初为 1 秒钟,每尝试一次,延迟时间便会加倍,因此在第一次尝试传输和最后一次尝试传输之间大约会经过 8.5 分钟。 可以根据计算的往返时间来调整第一次尝试重新传输的时间,因此这些尝试所经历的时间将会相应地发生变化。 这样,可以使重新传输时间动态地适应不断变化的网络条件。

适用于

产品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1