我试图让我的头周围采用迟发型与.NET核心的Web应用程序。这些例子似乎很简单,但我有疑问。
如果我想运行一个cron日程表的作业,即使在IIS应用程序池是睡着了,我不应该考虑将迟发型服务器在Windows服务?
如果同时使用服务器和Web应用程序客户端,文档中提到修改根.NET配置文件,让您的应用程序将始终运行。 http://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html
为什么你不能简单地将应用程序池超时设置为0呢?
另一种选择是把迟发型服务器作为Windows服务项目的一部分。我宁愿不乱用Windows服务如果不是真的需要。这需要之处在于运行计划工作(通过一个cron调度)来执行,即使没有用户发出请求到应用程序以防止应用程序池进入休眠状态。设置应用程序池空闲超时应该做同样的事情应该不是吗?
你不应该指望一个网站,以运行这样的扩展工作。它们被设计用来快速运行(ISH)调用和行动和返回结果。该建议是使用Windows服务。只要你开始搞乱应用程序池超时等很快,你是在自找麻烦。
我可以与网络核心2.2的发布,现在修改这个答案。 MS已在“后台任务”的服务,其允许的东西,而服务器是活动的在服务器上运行补充: