小编Rup*_*mar的帖子

无法在 ASP.NET Core 2.0 中增加会话超时

我无法在 ASP.NET Core 2.0 中增加会话超时。会话每 20 到 30 分钟就会过期。当我将时间减少到 1 分钟并调试它时,它工作正常,但是当它增加到超过 30 分钟或小时/天时,它不会持续到指定的持续时间。

会话在调试模式以及来自 IIS(发布后托管)下 30 分钟后过期。

options.IdleTimeout = TimeSpan.FromMinutes(180);  
Run Code Online (Sandbox Code Playgroud)

我在 startup.cs 文件中使用以下代码。

public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        
        // Adds a default in-memory implementation of IDistributedCache.
        services.AddDistributedMemoryCache();

        services.ConfigureApplicationCookie(options =>
        {
            options.Cookie.HttpOnly = true;
            options.Cookie.Expiration = TimeSpan.FromDays(3);
            options.ExpireTimeSpan= TimeSpan.FromDays(3);
            options.SlidingExpiration = true;
        });

        services.AddSession(options =>
        {
            // Set a short timeout for easy testing.
            options.IdleTimeout = TimeSpan.FromMinutes(180);                
        });
        services.AddSingleton<IConfiguration>(Configuration);
        
       
        // In production, the Angular files will be served from this …
Run Code Online (Sandbox Code Playgroud)

asp.net-core asp.net-core-2.0

5
推荐指数
1
解决办法
8438
查看次数

标签 统计

asp.net-core ×1

asp.net-core-2.0 ×1