长时间 运行 WCF 504 GATEWAY_TIMEOUT 错误
Long time running WCF 504 GATEWAY_TIMEOUT error
我正在 webHttpBinding 上开发 WCF Web 服务,客户端应用程序按需 (HTTP POST) 或通过调度程序 windows 服务(当前使用 Quartz.net)调用此 WCF Web 服务。
每次通话都会 运行 列出可能需要 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 是否仍然 运行ning?如果一个任务需要更少的时间,例如半分钟,那么它 returns 有效结果。
我已经尝试使用所有 switchvalue 跟踪日志并使用 traceviewer 监视输出,没有发现错误。
我的问题是 WCF 服务应该设计为 webHttpBinding 服务,还是应该设计为其他类型?
您是否考虑过在初始通话中提供状态页面,然后让用户(反复)检查状态页面以验证任务是否完成?
这将确保没有任何超时,因为连接将是短暂的。
我正在 webHttpBinding 上开发 WCF Web 服务,客户端应用程序按需 (HTTP POST) 或通过调度程序 windows 服务(当前使用 Quartz.net)调用此 WCF Web 服务。
每次通话都会 运行 列出可能需要 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 是否仍然 运行ning?如果一个任务需要更少的时间,例如半分钟,那么它 returns 有效结果。
我已经尝试使用所有 switchvalue 跟踪日志并使用 traceviewer 监视输出,没有发现错误。
我的问题是 WCF 服务应该设计为 webHttpBinding 服务,还是应该设计为其他类型?
您是否考虑过在初始通话中提供状态页面,然后让用户(反复)检查状态页面以验证任务是否完成?
这将确保没有任何超时,因为连接将是短暂的。