【发布时间】:2018-04-17 15:59:37
【问题描述】:
我想在 IIS 6.1 上创建一个 ASP.NET 网站(无法更改),它不会回收也不会关闭。我希望它一直在运行,甚至一秒钟都不会停机。
是否有任何内置功能可以帮助我实现这一目标?
(我无法创建 Windows 服务。我需要一个网站。)
解决方法和不太可取的解决方案是创建一个常规网站并创建一个 Windows 计划任务,该任务以固定间隔调用该网站中的函数,因此它永远不会回收。
您知道 IIS 7.* 或 IIS 8 是否支持这样的功能?
** 编辑
它将是一个为后台任务运行 Hangfire 的网站。 当然,Windows 服务 + Hangfire 解决方案更好,但由于时间不够,而且为了让我们的开发人员保持简单,我们更容易维护一个运行后台作业的网站。
【问题讨论】:
-
在 IIS 管理器中查看 AppPool 的高级设置。您可以在那里配置回收和空闲超时设置。
-
回收通常是重叠的,所以服务总是在运行,它可能只是在不同的进程中。需要自定义此行为的理由是什么?
-
您可以创建一个计划任务,该任务调用一个启动维护的 url。
-
您可以将 Hangfire 视为“更简单”、“更好”和“更受欢迎”,但恕我直言,这只是噩梦的开始。这完全违背了 IIS/ASP.NET 的设计。慢慢来。
-
“我无法创建 Windows 服务。”但这只是你应该走的路。
标签: asp.net iis iis-7 iis-6 hangfire