在我登录时的 MVC 3 应用程序中,它执行以下操作:
System.Web.Security.FormsAuthentication.SetAuthCookie(userName, false);
我的 web.config 有以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
之后我设置了一些会话变量。问题是,如果我离开页面足够长的时间以使会话过期,然后单击页面而不是将我重定向到登录屏幕,它会在控制器中引发异常,会话变量的引用为空。
public ActionResult Fixit(int Id, int cardId)
{
var model = new FixitVM();
model.PointsMaxValue = (int)Session["MAXPoints"];
}
这是预期的行为吗?我原以为重定向到登录页面会在此代码触发之前发生。在尝试评估此代码之前,我可以设置一些配置以使重定向发生吗?