public static CustomerInfo Customer
{
get
{
if (System.Web.HttpContext.Current.Session["CustomerData"] == null)
{
System.Web.HttpContext.Current.Response.Redirect("~/Account/Login");
return new CustomerInfo();
}
else
{
return (CustomerInfo)System.Web.HttpContext.Current.Session["CustomerData"];
}
}
set
{
System.Web.HttpContext.Current.Session["CustomerData"] = value;
}
}
每当HttpContext.Current.Session["CustomerData"]
是null
,而不是重定向到登录鉴于账户控制器它给例外。MVC5路由编程C#
一个属性的getter与副作用是一个坏主意。 – Amy
使用[action filter](https://www.codeproject.com/Articles/1095295/Check-Session-Timeout-by-Using-ActionFilters-in-MV)检查会话并重定向。 –
感谢史蒂夫建议使用操作过滤器,但是可以将它重定向到getter的登录视图。 – Madhurima