IIS 6.1 - 始终使用Hangfire运行网站以进行后台作业

时间:2018-04-17 15:59:37

标签: asp.net iis iis-7 iis-6 hangfire

我想在IIS 6.1上创建一个ASP.NET网站(无法更改),它不会回收也不会关闭。我希望它一直在运行,永远不会停止甚至一秒钟。

是否有任何内置功能可以帮助我实现这一目标?

(我无法创建Windows服务。我需要一个网站。)

解决方法和不太优选的解决方案是创建一个常规网站并创建一个Windows计划任务,该任务在固定的时间间隔内调用该网站中的一个功能,因此它永远不会回收。

你知道IIS 7. *或IIS 8是否支持这样的功能吗?

**编辑

它将是一个运行Hangfire的网站,用于后台任务。 当然,Windows Service + Hangfire解决方案更好,但由于时间不足并且让我们的开发人员保持简单,因此我们更容易维护一个运行后台作业的网站。

2 个答案:

答案 0 :(得分:1)

在app pool下,将idleTimeout设置为0.这将禁用空闲超时回收。

答案 1 :(得分:1)

取决于框架,框架版本等,可能需要考虑不同的配置。

最好的方法是检查official docs,以解决此确切问题。 例如,如果您构建一个.NET Core应用程序,则使该应用程序保持活动的步骤是:

  • 托管管道模式:Integrated
  • 将开始模式设置为“始终运行”。
  • 将“空闲超时”(分钟)设置为0。
  • 设置Preload Enabled = True
  • 转到应用上的配置编辑器,然后导航至system.webServer/applicationInitialization。设置以下设置:

doAppInitAfterRestart: True 打开收藏集……省略号。在下一个窗口中,单击添加,然后输入以下内容:

  • hostName:{您的Hangfire应用程序的URL主机}
  • initializationPage:{您的Hangfire信息中心的路径,例如/ hangfire}