如何让 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)
保存所有配置。
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)
保存所有配置。

浙公网安备 33010602011771号