gpt4 book ai didi

asp.net-mvc-4 - MVC 4 检测 session 超时

转载 作者:行者123 更新时间:2023-12-02 01:55:45 25 4
gpt4 key购买 nike

无法使以下标准代码正常工作。寻找完整的示例项目或有关如何发现错误的帮助。以下代码...

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);

是检查 session 过期的标准。但是在我的例子中,行 (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 | VS 2012 |本地 IIS Web 服务器,IIS Express

回复:Detecting Session expiry on ASP.NET MVC

最佳答案

尝试将“_sessionId”中的“s”大写

喜欢:

sessionCookie.IndexOf("_SessionId") >= 0)

搜索区分大小写。此外,您所指的链接文章使用:

sessionCookie.IndexOf("ASP.NET_SessionId") >= 0)

关于asp.net-mvc-4 - MVC 4 检测 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com