部署于IIS的.NET Core IHostedService意外关闭 调整应用池配置仍无效怎么办
IIS部署.NET Core Web应用自动关闭问题补充配置方案
未完成的IIS配置项
- 应用池回收规则调整:你当前仅修改了闲置相关配置,IIS默认启用29小时固定周期回收机制,触发时会主动关闭应用进程,需补充调整:
- 进入对应应用池的「高级设置」,定位到「回收」分组
- 将「固定时间间隔(分钟)」设为
0,禁用定时自动回收 - 清空「特定时间回收」的所有预设时间点
- 建议将「禁用重叠回收」设为
True,避免新老进程切换时的业务中断
- 站点预加载配置:仅设置应用池AlwaysRunning无法保证站点启动后自动初始化,需开启站点级预加载:
- 右键对应站点,选择「管理网站」-「高级设置」
- 将「预加载已启用」设为
True
.NET Core应用层面排查点
- 确认托管模式配置:修改
web.config文件,确保使用进程内托管提升进程稳定性:<aspNetCore processPath="dotnet" arguments=".\你的应用程序名.dll" hostingModel="inprocess" /> - 后台任务异常防护:你的定时请求逻辑如果是后台运行的非请求线程,未捕获的异常会直接导致进程退出,需给定时执行逻辑添加全局异常捕获,同时配置ASP.NET Core全局异常中间件拦截未处理异常。
其他排查方向
- 检查事件查看器的应用程序日志,确认是否存在.NET Core运行时异常、崩溃日志,排除代码层面问题导致的进程终止
- 可临时关闭应用池高级设置中的「快速故障防护」,排查是否是接口请求异常累计触发防护规则导致进程被关闭
- 确认是否存在系统安全软件、定时运维脚本主动终止IIS工作进程的情况
参考配置截图

内容的提问来源于stack exchange,提问作者APearTree
相关产品推荐
相关产品推荐

