我使用的是Windows2012,.net 4.5。我有一个web应用程序,它偶尔会做大量的处理,并在一段时间内(~ 8-10分钟)保持服务器不工作。
我随机地看到,这是在扼杀工人的进程,因为它没有及时回应它的点击。
因此,我将App的pingEnabled属性设置为false,因为我认为它不会用于ping辅助进程,因此不会终止它。
但我可以看到,它仍然扼杀了工人的进程,并将其视为不健康的。我是否可以将其配置为不进行ping,我正试图避免任何随机增加的ping超时等等。
发布于 2014-11-06 18:26:11
您可以尝试使用新的QueueBackgroundWorkItem方法。
这是为了处理从ASP.net内部产生的长时间运行的作业而创建的。
QBWI调度一个可以在后台运行的任务,而不依赖于任何请求。这与普通的ThreadPool工作项不同,因为ASP.NET自动跟踪通过该API注册的工作项当前运行的数量,ASP.NET运行时将尝试延迟AppDomain关闭,直到这些工作项完成为止。
http://blogs.msdn.com/b/webdev/archive/2014/06/04/queuebackgroundworkitem-to-reliably-schedule-and-run-long-background-process-in-asp-net.aspx
我认为这需要asp.net 4.5.2,因此您可能需要升级才能获得此功能。
https://serverfault.com/questions/617855
复制相似问题