0

我们有一个应用程序,它在 Glabal.asax 的 5 分钟间隔(使用计时器)后调用一个函数

该函数与第三方通信,获取数据并将其发送到另一个更新数据库的应用程序。

在第 4 次或第 5 次调用该函数后,会在从 3rd 方应用程序接收数据时调用 ThreadAbortException。这会停止整个应用程序。

我们不使用导致 ThreadAbortException 的函数 Response.End、Response.Redirect 或 Server.Transfer。

应用程序池可能会重新启动/回收。但这可能是什么原因?我将超时更改为 0,这意味着它永远不会超时。但我仍然得到例外。

任何人都可以提出任何建议吗?

谢谢。

4

1 回答 1

0

我正在使用 WebRequest 对象向第三方发出请求。解决问题的方法是更改​​请求的超时时间。我把它改成了无限的。

WebRequest request = WebRequest.Create(serviceUrl);
request.Method = "POST";
request.Timeout = System.Threading.Timeout.Infinite;

我希望这对遇到类似情况的人有所帮助。不过,我得到了同事的帮助。

编辑 - 我还在 MSDN 上找到了一篇有趣的文章 - 了解 WebRequest 问题和异常

于 2017-06-14T12:39:34.720 回答