【发布时间】:2015-02-11 08:50:10
【问题描述】:
我有一个 WCF 方法,可以进行一些计算和插入。此方法在线程中调用。我的方法需要超过 45 分钟(这对我来说很好),但之后它会抛出一个错误,提示“'超时已过期。在操作完成之前超时时间已过或服务器没有响应”。 只有插入部分在事务范围内,在分析器中我可以看到插入只发生了不到一分钟。我想这是超时的线程。如何增加超时?请帮忙
谢谢 兰吉特
【问题讨论】:
-
您的 WCF 方法需要 45 分钟才能响应?
-
这个线程做任何与 SQL 相关的工作吗?也许您可以包含引发异常的代码?
-
您可能应该将应用程序拆分为两部分:Windows 服务和 WCF 服务(或在 win 服务中托管 WCF 服务)。原因是应用程序池可以随时回收,从而在工作完成之前中止工作。在 Windows 服务中执行此操作更加稳定。
-
同意@jgauffin:WCF(和一般的 Web 应用程序)不打算处理超过 45 分钟的请求!你应该做一个服务,或者一个后台任务(预定的exe)。
-
其实是我想实现的一个call and forget逻辑。前端调用 WCF,WCF 调用线程开始的业务层。这是计算部分,因为它在一个循环中多次命中 DB,所以需要将近 40 分钟。开始交易后 35 秒超时。
标签: .net multithreading wcf