如何解决IIS池回收/停止时是否执行类终结器
在IIS池回收时(或在池STOP期间)执行类终结器。从理论上讲,这应该类似于Application.Run/Stop
,但是吗?
在同一情况下,我相信,如果该应用程序是NET CORE,并且在Kestrel或IIS中运行控制台应用程序,则关闭控制台应用程序将运行终结器。是吗?
解决方法
要检测ASP.NET Core中的应用程序关闭,可以在Configure方法中添加一个事件。
下面是strtup类的列表:
1)IApplicationBuilder
2)IHostingEnvironment
3)ILoggerFactory
4)IApplicationLifetime
public class Startup
{
public void Configure(IApplicationBuilder app,IApplicationLifetime applicationLifetime)
{
applicationLifetime.ApplicationStopping.Register(OnShutdown);
}
private void OnShutdown()
{
//this code is called when the application stops
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。