Я знаю, что есть предыдущий вопрос по этому вопросу, также есть проблема GitHub: https://github.com/aspnet/Hosting/issues/846, которая, как представляется, разрешена как Microsoft.AspNetCore.Server.IISIntegration 1.1. Однако, несмотря на наличие этой версии, это все еще не работает в IISExpress (я тестирую его, создавая Debug.WriteLine, а также записывая в файл журнала на ApplicationStopping и ApplicationStopped). Я закрываю IISExpress с помощью виджета панели инструментов.
Я не уверен, что я делаю что-то неправильно, если IISExpress закрыт таким образом, поддерживается как "грациозное завершение", которое запускает эти события. Похоже, что это может хорошо работать в IIS, но вы не можете развиваться локально с ASP.Net Core и полным IIS, по-видимому, поэтому я задаюсь вопросом, есть ли способ инициировать эти события в среде dev для тестирования?
Здесь код в Startup.cs:
public void Configure(IApplicationBuilder app, IApplicationLifetime life, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// other configure code here
life.ApplicationStopping.Register(() =>
Debug.WriteLine(">>Stopping"));
life.ApplicationStopped.Register(() =>
Debug.WriteLine(">>Stopped"));
}