摘要:我们在前面提到了IHostApplicationLifetime接口用来管理应用程序的生命周期,在ASP.NET Core 应用程序中,我们经常需要管理应用的生命周期,比如在启动时初始化资源,在关闭时释放资源,或者在停止前执行一些清理工作。
我们在前面提到了IHostApplicationLifetime接口用来管理应用程序的生命周期,在ASP.NET Core 应用程序中,我们经常需要管理应用的生命周期,比如在启动时初始化资源,在关闭时释放资源,或者在停止前执行一些清理工作。
我们在前面文章中提到了IHostApplicationLifetime生命周期中最重要的三个事件:
ApplicationStarted:应用程序完全启动后触发。
ApplicationStopping:应用程序即将停止时触发。
ApplicationStopped:应用程序完全停止后触发。
我们创建一个简单的ASP.NET Core 应用,使用如下代码:
var builder = WebApplication.CreateBuilder(args);var app = builder.Build;var lifetime = app.Services.GetService;lifetime.ApplicationStarted.Register( => Console.WriteLine("===== Server is starting"));lifetime.ApplicationStopping.Register( =>Console.WriteLine("===== Server is stopping"));lifetime.ApplicationStopped.Register( => Console.WriteLine("===== Server has stopped"));app.Run(async context =>{ await context.Response.WriteAsync("Hello world");});app.Run;我们运行应用程序:
可以看到ApplicationStopping和ApplicationStopped事件被触发。
源代码地址:
来源:opendotnet
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!