如何让 Hangfire在 IS中始终运行不中断

让 Hangfire 在 IIS 中“始终运行”
1.通过“服务器管理器” → “添加角色和功能”,在“Web 服务器 (IIS)” → “Web 服务器” → “应用程序开发”下勾选“应用程序初始化”或者控制面板-》添加或删除功能
2.应用程序池设置
    在 IIS 管理器中找到你的应用对应的应用程序池,进入“高级设置”进行修改:
    启动模式 (Start Mode):设置为 AlwaysRunning。这会让 IIS 在应用池启动时立即创建工作进程,而非等到第一个请求到达。
    空闲超时 (Idle Time-out):设置为 0 分钟。这能彻底禁用因空闲而自动关闭的机制
3.配置网站
在你的网站节点上右键,进入“管理网站” → “高级设置”:
    预加载已启用 (Preload Enabled):设置为 True。

4.这是最关键的一步,它告诉 IIS 在启动或回收后,主动访问你的应用,以唤醒 Hangfire 服务。

    在你的网站主页中,找到并双击“配置编辑器”。

    在“节”下拉框中,定位到 system.webServer/applicationInitialization。

    将 doAppInitAfterRestart 设置为 True。

    点击 (集合) 旁的 ... 按钮,在打开的集合编辑器中“添加”一条规则:

        hostName:填写你的网站域名或 localhost:端口。

        initializationPage:填写 Hangfire 仪表盘的路径,通常是 /hangfire。(本项目是/job)

    保存所有配置。

posted @ 2026-08-14 11:26  桃花雪  阅读(13)  评论(0)    收藏  举报