使用时是否有关机功能Microsoft.AspNet.Server.Kestrel?ASP.NET Core(以前的ASP.NET vNext)显然有一个启动序列,但没有提到关闭序列以及如何处理干净关闭.
Tse*_*eng 44
在ASP.NET Core中,您可以注册到提供的取消令牌 IApplicationLifetime
public class Startup
{
public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime)
{
applicationLifetime.ApplicationStopping.Register(OnShutdown);
}
private void OnShutdown()
{
// Do your cleanup here
}
}
Run Code Online (Sandbox Code Playgroud)
IApplicationLifetime还暴露了取消标记ApplicationStopped和ApplicationStarted以及一个StopApplication()方法来停止该应用程序.
Ste*_*iks 25
除了原始答案,我在尝试连接构造函数中的IApplicationLifetime时遇到错误.
我解决了这个问题:
public class Startup
{
public void Configure(IApplicationBuilder app)
{
var applicationLifetime = app.ApplicationServices.GetRequiredService<IApplicationLifetime>();
applicationLifetime.ApplicationStopping.Register(OnShutdown);
}
private void OnShutdown()
{
// Do your cleanup here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12414 次 |
| 最近记录: |