Ich versuche, eine einfache Umleitung zu Login-Seite zu tun, wenn Sitzung in asp.net MVC 4.5 abläuft. Ich versuche es wie folgt.asp.net mvc Redirect Login ab Sitzung Ablauf
Global.asax
protected void Session_OnEnd(object sender, EventArgs e)
{
Response.RedirectToRoute("Default"); //default is route
}
aber hier null Ausnahme kommt und Response-Objekt nicht gefunden wird. Ich habe this Post gesehen, konnte aber nicht herausfinden, wie es ziemlich breit ist.
UPDATE
I-Filter versucht haben, die Anwendung wie folgt nun nicht, aber nicht abstürzen nicht umleiten auch nicht Seite auf Fehler.
SessionTimeoutAttribute
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContext ctx = HttpContext.Current;
if (HttpContext.Current.Session["SchoolCode"] == null)
{
filterContext.Result = new RedirectResult("~/Views/Shared/Error");
return;
}
base.OnActionExecuting(filterContext);
}
hinzugefügt Controller-Klasse Attribut
[SessionTimeout]
public class MapsController : Controller{}
Warum umleiten es tut?
Was meinen Sie mit "Antwortobjekt wird nicht gefunden"? Haben Sie versucht, einen "try ... catch" um Ihren Code zu setzen, um zu prüfen, ob eine Ausnahme ausgelöst wurde? –
Wie die Antwort in dem Beitrag, den Sie verlinkt haben, andeutet, verwenden Sie 'ActionFilters' und suchen Sie nach' Session' darin. – adiga
Ich bekomme eine Ausnahme vom Typ 'System.Web.HttpException' in System.Web.dll aufgetreten, wurde aber nicht im Benutzercode behandelt Weitere Informationen: Antwort ist in diesem Zusammenhang nicht verfügbar. – Samra