gpt4 book ai didi

c# - ASP.NET core中的kestrel服务器可以在启动时配置空闲超时吗

转载 作者:行者123 更新时间:2023-12-02 11:17:07 25 4
gpt4 key购买 nike

我正在使用 HostedService里面 ASP.NET core web api将部署在本地 IIS 实例中( .NET Core 2.2) 。我需要确保空闲超时设置为零,以确保后台服务持续运行,我相信这可以通过在应用程序上设置空闲超时来完成但是,这需要 IIS 管理员在设置时执行此操作,因此我想知道是否有一种方法可以在首次在 CreateWebHostBuilder() 方法中配置 kestrel 时将其配置为零空闲超时程序类。

这可能吗?

最佳答案

当您使用 IIS 作为 ASP.NET Core 应用程序的反向代理时,IIS 会启动该进程,并且应用程序池上的空闲超时将决定何时关闭该进程。 IIS 知道没有事件请求,它会直接终止该进程,而不询问该进程的权限。所以你的应用程序无法阻止这种情况。 (您必须注意,如果您在应用程序中运行任何后台作业 - IIS 不知道这些作业,并且可能会在运行过程中终止您的应用程序)

如果您在没有 IIS 的情况下运行,它根本不会自动关闭,因为关闭意味着没有任何东西再监听新连接。这就是使用 IIS 的好处:如果出现灾难性故障,它可以重新启动您的应用程序。

因此,如果您计划将应用程序保留在 IIS 后面,并且希望它永远不会关闭,那么您将必须更改应用程序池的设置。

关于c# - ASP.NET core中的kestrel服务器可以在启动时配置空闲超时吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57893159/

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