0
我想做一個簡單的重定向到登錄頁面,如果會話過期在asp.net mvc 4.5。我正在嘗試如下。asp.net mvc重定向登錄會話到期
的Global.asax
protected void Session_OnEnd(object sender, EventArgs e)
{
Response.RedirectToRoute("Default"); //default is route
}
但這裏空異常來和響應的對象是找不到的。我看過this發佈,但無法弄清楚,因爲它非常廣泛。
UPDATE
我曾嘗試應用篩選如下現在它不會崩潰,但也沒有重定向到錯誤頁面。
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);
}
屬性附加到Controller類
[SessionTimeout]
public class MapsController : Controller{}
爲什麼犯規重定向?
你是什麼意思「未找到響應對象」?你有沒有嘗試在你的代碼周圍放一個'try ... catch'來檢查是否有異常拋出? –
作爲你已經鏈接的帖子中的答案,使用'ActionFilters'並檢查裏面的'Session'。 – adiga
我得到在System.Web.dll中發生類型'System.Web.HttpException'的異常,但未在用戶代碼中處理 其他信息:響應在此上下文中不可用。 – Samra