gpt4 book ai didi

c# - 长时间运行 WCF 504 GATEWAY_TIMEOUT 错误

转载 作者:行者123 更新时间:2023-11-30 17:38:56 25 4
gpt4 key购买 nike

我正在 webHttpBinding 上开发 WCF 网络服务,客户端应用程序按需调用此 WCF 网络服务 (HTTP POST) 或通过调度程序窗口服务(当前使用 Quartz.net)。

每次通话都会运行一系列可能需要 10-30 分钟的任务。 1 分钟后我收到 504 Gateway_Timeout 错误。我已尝试增加 WCF 网络服务的限制,但仍然出现错误。

<webHttpBinding>
<binding name="webHttpBindingWithJsonP" closeTimeout="00:30:00" openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="50000000" maxBufferSize="50000000" maxBufferPoolSize="50000000" crossDomainScriptAccessEnabled="true"/>
</webHttpBinding>


<httpRuntime executionTimeout="1800" targetFramework="4.0"/>

无论出现什么错误,任务都会完成。我不确定 Web 请求超时时 WCF 是否仍在运行?如果一个任务需要更少的时间,例如半分钟,那么它会返回有效结果。

我已经尝试使用所有 switchvalue 跟踪日志并使用 traceviewer 监视输出,没有发现错误。

我的问题是 WCF 服务应该设计为 webHttpBinding 服务,还是应该设计为其他类型?

最佳答案

您是否考虑过在初始通话中提供状态页面,然后让用户(反复)检查状态页面以验证任务是否完成?

这将确保没有任何超时,因为连接将是短暂的。

关于c# - 长时间运行 WCF 504 GATEWAY_TIMEOUT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36190490/

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