the - Función de apagado de cernícalo en Startup.cs en ASP.NET Core
kestrel windows (2)
Además de la respuesta original, tuve un error al intentar conectar el IApplicationLifetime dentro del constructor.
Resolví esto haciendo:
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
}
}
¿Existe una función de apagado cuando se usa
Microsoft.AspNet.Server.Kestrel
?
ASP.NET Core (anteriormente ASP.NET vNext) claramente tiene una secuencia de Inicio, pero no menciona la secuencia de apagado y cómo manejar el cierre limpio.
En ASP.NET Core puede registrarse en los tokens de cancelación proporcionados por
IApplicationLifetime
public class Startup
{
public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime)
{
applicationLifetime.ApplicationStopping.Register(OnShutdown);
}
private void OnShutdown()
{
// Do your cleanup here
}
}
IApplicationLifetime
también está exponiendo tokens de cancelación para
ApplicationStopped
y
ApplicationStarted
, así como un método
StopApplication()
para detener la aplicación.