【发布时间】:2020-11-17 11:47:43
【问题描述】:
我有一个相当大的 ASP.NET Core 应用程序在 IIS 应用程序池中运行,并具有重叠回收。我已经设置了IHostApplicationLifetime 处理程序,我看到它正在触及所有生命周期方法以及我设置的AppDomain.CurrentDomain.ProcessExit 处理程序。当我要求回收时,会发生以下情况:
-
ApplicationStopping被击中 -
ApplicationStopped被击中 - 在
Startup中配置的依赖被释放 -
Program.cs中webHost.Run()后的断点被命中(这是程序Main方法的最后一行) -
ProcessExit处理程序正在运行
此时我预计w3wp 已经死了。但是不,它会在一段时间后徘徊,并继续占用大量内存。我也可以在 Process Explorer 中查看它,我发现它仍然有一些活动。
我想明显要寻找的东西是需要处理的东西,但我不知道如何寻找这些东西。我怎样才能弄清楚为什么w3wp 不会消失这么长时间/是什么让它一直存在?
【问题讨论】:
标签: asp.net asp.net-core iis