【发布时间】:2014-05-09 06:10:48
【问题描述】:
无法使以下标准代码工作。寻找一个完整的示例项目或有关如何错误的帮助。 以下代码...
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Session != null)
{
if (filterContext.HttpContext.Session.IsNewSession)
{
string cookie = filterContext.HttpContext.Request.Headers["Cookie"];
if ((cookie != null) && (cookie.IndexOf("_sessionId") >= 0))
{
filterContext.Result = newRedirectResult("~/SessionExpired/Index"); //redirect anywhere to message user UI , never hits this breakpoint
return;
}
}
}
base.OnActionExecuting(filterContext);
}
是检查会话到期的标准。
但是在我的情况下,(cookie != null) && (cookie.IndexOf("_sessionId") >= 0) 行
总是返回 false,因此永远不会重定向用户。
我正在使用一个全新的向导创建 MVC 4 项目进行测试。 我找不到完整的下载示例。我怀疑我的配置有问题。
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="1" slidingExpiration="true" name=".ASPXFORMSAUTH" />
</authentication>
<sessionState mode="InProc" timeout="1" cookieless="false"/>
请告知此代码失败的原因或提供包含完整下载示例项目的链接。 .Net 4.5 |对比 2012 |本地 IIS Web 服务器 , IIS Express
【问题讨论】:
标签: asp.net-mvc-4