Как распознать, что событие Session_OnEnd возникает из-за завершения приложения в приложении MVC

В моем приложении ASP.NET MVC4 у ​​меня есть события Session_OnEnd и Application_End. Когда приложение завершает события Session_OnEnd, вызываемые первыми, после этого вызывается Application_End. Есть ли способ распознать в событии Session_OnEnd, что оно происходит по причине завершения приложения?

1 ответ

Решение

Во время Session_End нет способа узнать причину возникновения события. Если ваша логика заключается в сохранении данных, можете ли вы их где-нибудь кешировать (с истечением срока) и забрать их в Application_End?

Поэтому, если это сценарий Application_End, извлекайте кэшированные данные и делайте все, что вам нужно.

В противном случае срок действия кеша истекает через "х" промежуток времени и не причиняет вреда.

Завершение кеширования в ASP.NET: https://msdn.microsoft.com/en-us/library/aa478965.aspx

Другие вопросы по тегам