Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 函数中出现意外的ThreadAbortException_C#_.net_Global Asax_Threadabortexception - Fatal编程技术网

C# 函数中出现意外的ThreadAbortException

C# 函数中出现意外的ThreadAbortException,c#,.net,global-asax,threadabortexception,C#,.net,Global Asax,Threadabortexception,我们有一个应用程序,它在Glabal.asax中每隔5分钟(使用计时器)调用一个函数 该函数与第三方通信,获取数据并将其发送给另一个更新数据库的应用程序 第4次或第5次调用该函数后,从第三方应用程序接收数据时将调用ThreadAbortException。这将停止整个应用程序 我们不使用Response.End、Response.Redirect或Server.Transfer这些导致ThreadAbortException的函数 应用程序池可能会重新启动/回收。但这可能是什么原因呢? 我将超时

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

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

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

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

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

有人能提出什么建议吗


谢谢。

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

WebRequest request = WebRequest.Create(serviceUrl);
request.Method = "POST";
request.Timeout = System.Threading.Timeout.Infinite;
我希望这对遇到类似情况的人有所帮助。不过我的同事帮了我

编辑- 我还发现了一篇关于MSDN的有趣文章-

听起来你好像在试图改变我所不知道的。如何找到答案?解决方案是什么?您是否尝试定期运行与任何实际请求无关的代码?如果是这样,那将是一项背景任务。我给你链接了一篇博客文章,其中讨论了实现这一点的各种方法。使用某种形式的
计时器(您使用的是哪一种不清楚)不在列表中,原因也在那篇文章中讨论过。我真的不明白,问题或解决方案是什么?