В моем приложении ASP.NET MVC4 у меня есть события Session_OnEnd и Application_End. Когда приложение завершает вызовы Session_OnEnd, вызываемые первым, после вызова Application_End. Есть ли способ распознать в событии Session_OnEnd, что это происходит по причине окончания приложения?Как распознать событие Session_OnEnd из-за конца приложения в приложении MVC
3
A
ответ
1
Во время Session_End нет способа узнать причину возникновения события. Если ваша логика заключается в сохранении данных, вы можете кэшировать ее где-нибудь (с истечением срока действия) и забрать ее в Application_End?
Так что если это сценарий Application_End, извлечение кэшированных данных сделает все, что вам нужно.
В противном случае кеш истекает через «x» количество времени и никакого вреда.
За кэширования в ASP.NET: https://msdn.microsoft.com/en-us/library/aa478965.aspx
Может добавить атрибут сеанса, связанный внутри метода Application_End, а затем проверить внутри Session_OnEnd weither этот атрибут установлен или нет. – Hybris95
Ummm, почему? Что вы пытаетесь сделать, считая, что вам нужно знать, что приложение заканчивается при вызове 'Session_End'? – Luaan
Application_End срабатывает после Session_OnEnd. Мне нужно сделать некоторую логику в Session_OnEnd в зависимости от завершения приложения или нет. –