IIS会回收asp.net核心流程吗?

Cle*_*ent 8 iis .net-core kestrel-http-server asp.net-core

我需要在我的asp.net核心应用程序中运行长时间运行的后台任务.我知道Azure Webjobs和其他进程外技术,但我宁愿保持解决方案简单并直接在asp.net核心进程中运行这些任务.我使用Kestrel,应用程序托管在IIS中.

我知道IIS偶尔会回收IIS进程.它还会回收asp.net核心流程吗?

Alb*_*rtK 5

Asp.Net 核心 < 2.2

Asp.net Coredotnet.exe即使它托管在IIS. 但这并不意味着它作为一个独立的进程运行。IIS仍然负责Asp.net coreprocess( dotnet.exe)的生命周期的度过AspNetCoreModule

所以,答案是肯定的,IIS也会回收asp.net core进程

Asp.Net 核心 >= 2.2

in-process除了out-of-process之前的托管模型之外, Asp.Net Core 2.2 还支持 IIS 上的托管。看起来这只是一种优化,可以避免将请求反向代理到单独的 dotnet 进程的额外成本。IIS会随着Asp.net Core应用程序回收应用程序池


Lex*_* Li -2

不,不会。IIS应用程序池只处理w3wp.exe进程。

ASP.NET Core由Kestrel进程托管,IIS只是它前面的反向代理。