【问题标题】:What are the time out changes should make to client application that use WCF service?应该对使用 WCF 服务的客户端应用程序进行哪些超时更改?
【发布时间】:2011-12-28 11:16:42
【问题描述】:

我的 wcf 服务执行了许多 SQL 查询。之后我将向客户端应用程序发送一个 XML 文件。

执行所有查询需要 30 多分钟。

WCF 服务正在数据库上成功执行。

但客户端应用程序在从我的服务获得响应之前崩溃。它崩溃了大约 20 分钟。

我在客户端配置文件中进行了以下超时更改。但是客户端应用程序仍然崩溃。

closeTimeout="04:20:00" openTimeout="04:20:00" receiveTimeout="04:00:00" sendTimeout="04:00:00"

有什么想法吗?

谢谢, JN

【问题讨论】:

  • 在您的服务上也将超时设置为相似的值 - 很可能该服务在默认设置(我相信 1 分钟)之后的 sendTimeout 超时。虽然,如果您通过 WCF 调用运行需要 30 分钟的查询,您可能希望 a) 尝试优化您的查询或 b) 采取不同的方法来解决问题 - 客户端等待响应 30 分钟似乎很长一段时间。

标签: wcf


【解决方案1】:

不要等待服务返回那么久。我会采用异步方式并触发一条消息以启动 XML 生成过程。然后要么偶尔返回服务检查分配的状态,要么进行双工绑定并让服务回调客户端以指示进度或作业已完成。

Workflow Foundation 可能会为您提供一些使这种复杂的异步行为更简单的好机会。在http://msdn.microsoft.com/en-us/library/ms741723(v=vs.90).aspx 中获取样本之一,让自己跟上进度。

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多