我想在 IIS 6.1 上创建一个 ASP.NET 网站(无法更改),该网站不会回收也不会关闭。我希望它始终运行,永远不会宕机,哪怕一秒钟。
是否有任何内置功能可以帮助我实现这一目标?
(我无法创建 Windows 服务。我需要一个网站。)
解决方法和不太优选的解决方案是创建一个常规网站并创建一个 Windows 计划任务,以固定的时间间隔调用该网站中的函数,这样它就不会回收。
您知道 IIS 7.* 或 IIS 8 是否支持这样的功能吗?
** 编辑
它将是一个运行 Hangfire 来执行后台任务的网站。 当然,Windows 服务 + Hangfire 解决方案更好,但由于缺乏时间并且为了让我们的开发人员保持简单,我们更容易维护一个运行后台作业的网站。
根据框架、框架版本等,可能需要考虑不同的配置。
最好的方法是检查评估这个确切问题的官方文档。 例如,如果您构建一个 .NET Core 应用程序,保持应用程序存活的步骤是:
Integrated
Preload Enabled = True
system.webServer/applicationInitialization
。设置以下设置:doAppInitAfterRestart: True
打开集合...省略号。在下一个窗口中,单击“添加”并输入以下内容:
在应用程序池下将idleTimeout设置为0。这将禁用空闲超时回收。
我在 II 服务器中工作时收到一条错误消息,有人可以帮助我解决此错误消息吗
详情如下
“/”应用程序中的服务器错误。
JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。 描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.InvalidOperationException:JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。