ASP.NET核心MVC会话Cookie过期

时间:2017-06-12 13:11:24

标签: asp.net-mvc cookies asp.net-core-mvc session-cookies session-timeout

我最近将我的asp.net核心mvc web应用程序(.NET 4.6.1)部署到共享托管服务器。以下是我用来设置会话cookie参数的内容:

        services.AddIdentity<ApplicationUser, IdentityRole>(config =>
        {
            config.Cookies.ApplicationCookie.LoginPath = "/login";
            config.Cookies.ApplicationCookie.CookieName = "MyCookie";
            config.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromHours(1.0);
            config.Cookies.ApplicationCookie.SlidingExpiration = true;
        }

但是,我注意到:

1)打开Chrome开发者工具时,&#39; Expires / Max Age&#39;列显示&#34;会话&#34;我的auth cookie与实际超时值(我设置为1小时)相比。

2)几分钟后,我自动在托管网站上注销(即使会话设置为1小时后到期)。 - 此问题仍然存在

你能告诉我我做错了什么,或者我错过了什么吗?

编辑:

我还有另一个会话,但它只是用来保存关于客户端的轻量级数据。

        services.AddMemoryCache();

        services.AddSession(options => {
            options.CookieName = "myOtherCookie";
            options.IdleTimeout = TimeSpan.FromDays(1.0);
        });

我的登录代码:

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, true, lockoutOnFailure: true);

我的配置方法的片段:

    app.UseStaticFiles();

    app.UseIdentity();

    app.UseSession();

    app.UseMvc(
        routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        }
    );

非常感谢

特里

0 个答案:

没有答案