gpt4 book ai didi

wcf - WSHttp 绑定(bind)和 ReliableSession/MaxRetryCount

转载 作者:行者123 更新时间:2023-12-04 18:31:33 25 4
gpt4 key购买 nike

在启用了可靠 session 的 WCF 中使用 WSHttpBinding 时,我的服务引用会自行更新为:

<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="true">
</reliableSession>

只要绑定(bind)配置为 WSHttpBinding,我就无法将 maxRetryCount 属性添加到可靠 session 。

现在我的问题是:使用 WSHttpBinding 时 maxRetryCount 的值是多少,有什么方法可以在配置中更改它;不使用 CustomBinding?

最佳答案

您不能设置 maxRetryCount在标准 wsHttpBinding配置。为了设置该值,您需要创建一个单独的自定义绑定(bind),然后从您的服务或客户端配置中引用它:

  <system.serviceModel>
<bindings>
<customBinding>
<binding name="wsCustomBinding">
<reliableSession maxRetryCount="15"/>
<textMessageEncoding/>
<httpTransport />
</binding>
</customBinding>
</bindings>
<services>
<service name="MyService">
<endpoint address="http://localhost:7878/MyServoce"
binding="customBinding"
bindingConfiguration="wsCustomBinding"
contract="IMyService" />
</service>
</services>
</system.serviceModel>

定义自定义绑定(bind)并不难——但您需要确保以正确的顺序指定构成绑定(bind)的元素——参见 MSDN docs on custom bindings供引用。

如果你想在服务器和客户端之间共享自定义绑定(bind)配置,你也可以把 <bindings>部分为单独的bindings.config文件,然后从您的 web.config/app.config 引用该外部文件:

  <system.serviceModel>
<bindings configSource="bindings.config">

Visual Studio 会提示这一点并显示红色波浪下划线 - 但相信我 - 该技术有效,我每天都在生产中使用它(描述配置内容的 Visual Studio XML 架构并不完整和准确)。

马克

关于wcf - WSHttp 绑定(bind)和 ReliableSession/MaxRetryCount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1968799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com