MaxPendingSessions和wsHttpBinding

问题描述

我根本不是WCF专家,请保持温柔。

我们有一个WCF应用程序,大约有10万个客户端命中服务器,也许每分钟100个。协议是通过wsHttpBinding的https。

间歇性地,我们会遇到一些错误

  • 通讯对象不能用于通讯,因为它处于故障状态(相信我们正在使用来自客户端的正确“关闭/中止”来处理该对象,而不是当前使用,但更新客户端会花费时间)
  • 服务器发回一个错误,指示它太忙以致无法处理请求
  • 客户端无法在配置的超时时间内完成安全协商

我们(我)的假设是,后两个错误(部分是从第一个错误中产生的)是MaxPendingSessions使我们受挫。问题是我找到了描述将其添加BindingElementCollection代码示例,但实际上它的读法仅对客户端有用,而对服务器没有帮助。我还看过“只是创建一个自定义绑定来设置它”,但是即使服务启动没有错误,我尝试过的所有内容仍然处于无法正常通信的位置。

很抱歉不能直接交出代码,我的雇主不允许这种事情;我尽我所能解释。

我尝试过

    <customBinding>
    <binding name = "MyCustomBinding">
    <security>
    <localServiceSettings maxPendingSessions="1024"/>
    </security>
    <httpsTransport/>
    </binding>
    </customBinding>

但是它传递的内容与通过https发送的内容不匹配

    <readerQuotas maxBytesPerRead="2147483647"/>
    <security mode="TransportWithMessageCredential">
    <transport clientCredentialType="Windows"/>
    </security>

所以真的有两个问题:

  • 我要走正确的故障排除路径吗?昨天我们上线了,但是在较小的用户数量下进行测试就没有看到这些问题,因此现在我们有点不耐烦了,可能并没有直截了当。
  • 如果是,如何将maxPendingSessions添加wsHttpBinding

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)