我在 IIS 服务器上部署了一个 ASP.NET MVC Web 应用程序,
在该应用程序中,我在一个独立线程中执行如下操作:
while (true)
{
doSomeJobs();
Thread.Sleep(TimeSpan.FromMinutes(5));
}
在
Application_Start()
开始此线程所以似乎它永远不会停止,每轮工作之间只睡 5 分钟。
起初看起来运行良好,但在第二天我检查日志它没有按我预期的那样工作,它已经停止工作很长时间了。
然后当我再次向应用程序发送请求时,它又开始工作了。
那么我错过了什么?即使没有对应用程序的任何请求,是否可以让线程在每个特定时间在后台工作?比如计划任务?
最佳答案
最后我发现这是一个普遍的问题,
这是因为如果没有人请求您的应用程序,IIS 将在特定时间停止您的进程。
让您的应用保持活力。
关于asp.net-mvc - 即使没有对 Web 应用程序的任何请求,如何使线程在 IIS 服务器的后台工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46065822/