Как распознать, что событие 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