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

问题描述 投票:0回答:3

我想在 IIS 6.1 上创建一个 ASP.NET 网站(无法更改),该网站不会回收也不会关闭。我希望它始终运行,永远不会宕机,哪怕一秒钟。

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

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

解决方法和不太优选的解决方案是创建一个常规网站并创建一个 Windows 计划任务,以固定的时间间隔调用该网站中的函数,这样它就不会回收。

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

** 编辑

它将是一个运行 Hangfire 来执行后台任务的网站。 当然,Windows 服务 + Hangfire 解决方案更好,但由于缺乏时间并且为了让我们的开发人员保持简单,我们更容易维护一个运行后台作业的网站。

asp.net iis iis-7 iis-6 hangfire
3个回答
5
投票

根据框架、框架版本等,可能需要考虑不同的配置。

最好的方法是检查评估这个确切问题的官方文档。 例如,如果您构建一个 .NET Core 应用程序,保持应用程序存活的步骤是:

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

doAppInitAfterRestart: True
打开集合...省略号。在下一个窗口中,单击“添加”并输入以下内容:

  • hostName:{Hangfire 应用程序的 URL 主机}
  • initializationPage:{Hangfire 仪表板的路径,例如 /hangfire}

3
投票

在应用程序池下将idleTimeout设置为0。这将禁用空闲超时回收。


0
投票

我在 II 服务器中工作时收到一条错误消息,有人可以帮助我解决此错误消息吗

详情如下

“/”应用程序中的服务器错误。

JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。 描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.InvalidOperationException:JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。

© www.soinside.com 2019 - 2024. All rights reserved.