"Could not get any response"使用安全绑定的 WCF 服务,忽略超时设置?



我在远程机器上有一个使用安全绑定的服务。我所有的服务配置都在配置文件中(我已经检查了,以确保正确的配置文件被调整。)我曾尝试让服务在3分钟后超时,但每次我发出的请求超过一分钟时,Postman都会给我一个通用的"无法得到任何响应"页面。(它甚至没有给我一个错误或堆栈跟踪。)这正好发生在1分钟。是的,我甚至用我手机上的秒表来验证它正好是一分钟。

在使用非安全绑定的不同环境中,我知道这个特定的调用大约需要90秒。我只是需要这个安全的环境再等一会儿!

如果我的行话不切题,我很抱歉,我在这方面有点新手。

我的WCF服务配置文件如下所示:

  <service name="XXX.SolrIndexService.Host.Services.EventIndexService">
        <endpoint address="ajax"
            behaviorConfiguration="ServerReadCookie"
            binding="webHttpBinding"
            bindingConfiguration="webHttpsBinding"
            contract="XXX.SolrIndexService.DataContracts.IEventIndexService" />
  </service>

实际绑定配置在这里:

  <webHttpBinding>
    <binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true">
      <security mode="None" />
    </binding>
    <binding name="webHttpBindingUnsecure" crossDomainScriptAccessEnabled="true">
      <security mode="None" />
    </binding>
    <binding name="webHttpsBinding" crossDomainScriptAccessEnabled="true"
                closeTimeout="00:03:00"
                openTimeout="00:03:00"
                receiveTimeout="00:10:00"
                sendTimeout="00:03:00">
      <security mode="Transport" />
    </binding>
  </webHttpBinding>

这些是从整个配置文件的片段,我可以张贴整个事情,如果有人认为这将是有帮助的。我还用XXX代替了客户的名字,因为我不确定这种事情的礼仪是什么。

我看过很多关于WCF超时的帖子,我的总体印象是他们神秘而挑剔。我还检查了托管该服务的站点的IIS限制,它的一般连接超时设置为120秒。

谢谢!

您应该使用WCF客户端工具

而不是使用postman

这可能会给你更多的反馈

在我的特殊情况下,我是通过负载平衡器访问我的服务的。我没有尝试更改负载平衡器上的任何设置。相反,我决定使用托管该服务的特定机器来访问该服务。在此之后,我的超时设置被遵守,并且在调用完成之前我不再超时。

我不确定这对将来是否有帮助,这是相当具体的,但你永远不知道。

相关内容

  • 没有找到相关文章

最新更新