Mam zmienną sesji ustawioną w mojej aplikacji MVC. Za każdym razem, gdy sesja wygasa, a użytkownik próbuje odświeżyć stronę, na której się znajduje, strona wyświetli błąd, ponieważ sesja nie jest już ustawiona.Ekwiwalent MVC Page_Load
Czy mogę gdziekolwiek sprawdzić, czy sesja została ustawiona przed załadowaniem widoku? Być może wstawienie czegoś do pliku Global.asax?
Mogłem zrobić coś takiego na początku KAŻDEGO ActionResult.
public ActionResult ViewRecord()
{
if (MyClass.SessionName == null)
{
return View("Home");
}
else
{
//do something with the session variable
}
}
Czy jest jakaś alternatywa dla zrobienia tego? Jaka byłaby najlepsza praktyka w tym przypadku?
Trzeba filtru niestandardowego działania, niektóre więcej informacji http: // msdn .microsoft.com/pl-us/gg618482 –
Podobna dyskusja tutaj: http://forums.asp.net/t/1287687.aspx –
Oprócz komentarza @ ChrisDiver, jeśli potrzebujesz go zastosować do wszystkich kontrolerów/akcji możesz udekorować kontroler bazowy, z którego dziedziczą wszystkie inne kontrolery. – Chris