我正在IIS中托管一个ASP.NET Core(2.2)应用程序。
该应用程序正在使用具有以下设置的自定义应用程序池:
.NET CLR version: No Managed Code
Start Mode: Always Running
Idle Time-out (minutes): 0
我的启动代码如下:
WebHost.CreateDefaultBuilder(args)
.UseStartup<MyStartup>()
.Build()
.Run();
我希望该应用程序将始终运行,但是一段时间后,低于以下要求,该应用程序将停止运行:
[Microsoft.AspNetCore.Hosting.Internal.WebHost]请求开始 HTTP / 1.1开机自检 http://127.0.0.1:43745/app/iisintegration 0 [Microsoft.AspNetCore.Hosting.Internal.WebHost]请求完成于 5.7107ms 202
该应用是子应用。父应用程序正在使用其他应用程序池,并且确实有空闲超时。
是否缺少某些设置来使应用程序始终保持运行状态?
答案 0 :(得分:0)
找到了有效的解决方案。您需要使用进程内托管模型来托管ASP.NET Core 2.2应用程序。可以按照以下步骤进行操作。
服务器管理器>添加角色和功能>服务器角色> Web服务器(IIS)>应用程序开发>应用程序初始化
IIS>您的应用程序池>启动模式>始终运行
IIS>您的应用程序池>空闲超时> 0
IIS>您的应用>高级设置>启用预加载> True
为进程内托管模型设置应用(Asp.net核心模块的web.config更改以及设置正确的当前目录的代码更改)
更多信息,请访问: