Windows Azure上的ASP.NET MVC 4会话在10分钟后到期

德克

我目前正在使用ASP.net和MVC4建立一个网站。在本地进行调试时,会话将按预期运行,没有任何问题,并且在登录后的1天后过期。但是,在实时站点上,会话每10分钟过期一次,这已成为一件烦人的事。

这是网络配置

<sessionState timeout="1440" cookieless="false"></sessionState>

 <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="1440"/>      
    </authentication>

这是控制器的登录方法。

public ActionResult LogIn(UserModel user)
    {
        var response = new RegistrationResponse();

        if (ModelState.IsValid)
        {
            var authUser = usersManager.IsValid(user);
            if (authUser != null)
            {
                FormsAuthentication.SetAuthCookie(user.Email, false);
                response.Authenticated = true;
                if (authUser.isAdmin)
                {
                    System.Web.HttpContext.Current.Session["Admin"] = true;
                }

                var cart = (ShoppingCart)System.Web.HttpContext.Current.Session["ShoppingCart"];

                System.Web.HttpContext.Current.Session["ShoppingCart"] = new ShoppingCart(authUser.UserId, cart.Items);
                System.Web.HttpContext.Current.Session["User"] = authUser.UserId;

                return Json("/Home");
            }
        }
        string errorMessage = "Your Email and/or Password could not be found.\n Please double check credentials and try again.";
        return Json("/Home/Login?errorMessage=" + errorMessage);
    }

我已经检查了FTP,以确保web.config在实时站点上是最新的。但是,我仍然每10分钟就会被淘汰。还有什么我可以检查的,或者可能是原因吗?

提前致谢

编辑:我正在使用Windows Azure网站,当前正在免费试用订阅上。

玛丽安·班

可能是由于IIS应用程序池回收。这取决于应用程序池配置(标准IIS的默认值为20分钟(空闲超时),每1740分钟为默认值,无论该池是否空闲),但是Windows Azure网站却是另一回事:

https://www.simple-talk.com/dotnet/.net-framework/windows-azure-websites-%E2%80%93-a-new-hosting-model-for-windows-azure/

空闲超时时间可能会波动很大。目前,超时时间从20分钟左右开始,但是可能只有5分钟。现在,您可能会想,“哇!即使只有5分钟的空闲时间,我的网站也可能会被关闭?” 是的,那是很短的时间;但是,空闲时间波动的原因是为了处理托管在共享系统中的资源管理。

为了避免这种现象,您可以尝试定期对站点进行ping操作或使用其他会话模式(例如SQL Server会话或状态服务器模式)。或者根本不使用会话,而是使用某些客户端存储机制,例如cookie或本地存储(我希望使用此选项)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Azure上的Asp.net MVC 5.2.2

来自分类Dev

ASP.NET MVC Windows Azure组织身份验证

来自分类Dev

Windows IoT (Raspbian Pi) 上的 ASP.NET Core MVC

来自分类Dev

使用托管在GoDaddy上的ASP.NET MVC5 OWIN身份验证在5分钟后过期

来自分类Dev

使用托管在GoDaddy上的ASP.NET MVC5 OWIN身份验证在5分钟后过期

来自分类Dev

每5分钟刷新一次asp.net mvc

来自分类Dev

是否可以从ASP.NET MVC4表单向Windows Azure移动服务发送推送通知

来自分类Dev

如何在Windows 7上使用localDB将ASP.NET MVC 4应用程序部署到本地IIS?

来自分类Dev

ASP.NET MVC会话到期时注销用户

来自分类Dev

ASP.NET MVC 4会话超时

来自分类Dev

ASP.Net MVC 4,CodeFirst和Azure服务

来自分类Dev

2-3分钟后,asp.net中的会话即将关闭

来自分类Dev

是否可以在Asp.net中将会话超时设置为1分钟?

来自分类Dev

在Windows 8.1上全新安装Visual Studio 2013后,ASP.NET MVC Razor错误

来自分类Dev

asp.net mvc 在没有关键字 localhost 的 Windows 上发布

来自分类Dev

在未安装VisualStudio或IIS的Windows中托管ASP.NET MVC4网站

来自分类Dev

在未安装VisualStudio或IIS的Windows中托管ASP.NET MVC4网站

来自分类Dev

关闭/禁用Windows身份验证的asp.net-mvc

来自分类Dev

避免在Windows上使用“系统将在10分钟内关闭”

来自分类Dev

ASP.NET MVC会话状态超时

来自分类Dev

在ASP .NET MVC中存储会话数据

来自分类Dev

在ASP .NET MVC中存储会话数据

来自分类Dev

ASP.NET MVC维护对象会话

来自分类Dev

ASP.NET MVC会话变量丢失

来自分类Dev

ASP NET MVC 5会话状态

来自分类Dev

ASP.NET MVC中的会话

来自分类Dev

ASP.NET MVC 5 和会话

来自分类Dev

Asp.net MVC 会话到 cookie

来自分类Dev

在ASP.NET MVC4中设置会话超时?

Related 相关文章

热门标签

归档