gpt4 book ai didi

asp.net-core - 让 ASP.NET 核心应用程序始终在 IIS 中运行

转载 作者:行者123 更新时间:2023-12-02 04:23:27 24 4
gpt4 key购买 nike

我在 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] Request starting HTTP/1.1 POST http://127.0.0.1:43745/app/iisintegration 0 [Microsoft.AspNetCore.Hosting.Internal.WebHost] Request finished in 5.7107ms 202



该应用程序是一个子应用程序。父应用程序正在使用不同的应用程序池,并且确实有空闲超时。

我是否缺少一些设置来保持应用程序一直运行?

最佳答案

找到了一个有效的解决方案。您需要使用进程内托管模型来托管您的 ASP.NET Core 2.2 应用程序。可以按照以下步骤进行操作。

  • 安装应用程序初始化模块 (IIS)

  • 服务器管理器 > 添加角色和功能 > 服务器角色 > Web 服务器 (IIS) > 应用程序开发 > 应用程序初始化
  • IIS > 您的应用程序池 > 启动模式 > 始终运行
  • IIS > 您的应用程序池 > 空闲超时 > 0
  • IIS > 您的应用程序 > 高级设置 > 启用预加载 > True
  • 为进程内托管模型设置您的应用程序(Asp.net 核心模块的 web.config 更改和代码更改以设置正确的当前目录)

  • 更多信息可以在以下位置找到:
  • https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
  • https://github.com/aspnet/AspNetCore.Docs/issues/12232
  • https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2
  • https://github.com/aspnet/AspNetCore/issues/6075
  • 关于asp.net-core - 让 ASP.NET 核心应用程序始终在 IIS 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57523899/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com