gpt4 book ai didi

wcf - 如何更改 IIS 托管的 WCF 服务的超时?

转载 作者:行者123 更新时间:2023-12-02 23:22:15 24 4
gpt4 key购买 nike

我们有一个托管在 IIS 中的 WCF 服务。我从日志文件中可以看到,发送执行时间超过 3 分钟的请求的客户端会收到 HTTP 503(服务不可用)错误。

如何更改超时?为了测试它是否有效,我将超时减少到 3 秒,以确保它确实超时。

我已经尝试过

<system.web> 
<httpRuntime executionTimeout="3"/>
</system.web>

这似乎什么也没做。

我也尝试过更改绑定(bind),但无济于事。

  <basicHttpBinding>
<binding name="basicHttp" receiveTimeout="00:00:03" sendTimeout="00:00:03" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>

注意,我试图让 WCF 服务在我们控制的持续时间后返回某种失败。我预计请求的终止时间不会比预期长。

在我撕扯我的头发之前,非常感谢任何帮助。

<小时/>

只是为了澄清...

该服务已经启动并运行了几个月。但是,在处理偶尔长时间运行的请求时,客户端会在 3 分钟后收到 HTTP 503 响应。在后台,我们可以看到请求已得到正确处理,但花费了超过 5 分钟的时间。显然此时已经太晚了,因为客户端已经收到了错误响应。

其他请求正在正常处理。

此时系统的负载非常低。事实上,这是一个测试环境,交易一次一个,没有重叠。

我也非常确定绑定(bind)已连接到端点。我已在 WCF 配置编辑器中打开配置文件,所有内容都已正确链接。

此时是否可以在 WCF 中配置超时?如果不是的话我也能理解,但是为什么会返回 HTTP 503 错误呢?

我们真正想做的就是控制返回 503 响应之前的时间长度。

最佳答案

通常,当我对绑定(bind)进行的更改对服务端点没有影响时,这是因为该绑定(bind)未连接到端点。

如果现在一切都变成 503 并且之前正常,则可能是作为应用程序池身份的用户帐户的密码已过期。

如果它对某些调用有效,而对其他调用无效,并且负载增加,则可能是客户端没有关闭连接,并且您达到了最大并发调用数的默认限制。

关于wcf - 如何更改 IIS 托管的 WCF 服务的超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13494915/

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