微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ASP.net Core 3.1中设置会话超时

如何解决在ASP.net Core 3.1中设置会话超时

我有一个Web应用程序.net core 3.1剃须刀页面。我已将会话超时设置为30分钟,但是在10分钟不活动后它将当前用户注销。全局IIS设置在服务器上设置为60分钟。这是我在Startup.cs中的代码。我想念什么?任何帮助是极大的赞赏。谢谢!

     public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddControllers().AddNewtonsoftJson(options =>
         options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
        );
        services.AddSingleton<IHttpContextAccessor,HttpContextAccessor>();
        services.AddTransient<IMemberService,MemberService>();
        services.AddTransient<INewsService,NewsService>();
        services.AddTransient<IUserCardService,UserCardService>();
        services.AddTransient<IUsernameService,UsernameService>();
        services.AddTransient<ILinkService,LinkService>();
        services.AddTransient<INotificationService,NotificationService>();

        services.AddTransient<IEmailSender,EmailSender>();
        services.Configure<AuthMessageSenderOptions>(Configuration);

        services.AddDbContext<DefaultContext>(options =>
         options.UsesqlServer(
         Configuration.GetConnectionString("DefaultContextConnection")));

        services.AddControllersWithViews()
                .AddSessionStateTempDataProvider();

        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential
            // cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            // requires using Microsoft.AspNetCore.Http;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        services.AdddistributedMemoryCache();

        services.AddSession(options =>
        {
            options.IdleTimeout = TimeSpan.FromMinutes(30);
            options.Cookie.HttpOnly = true;
            options.Cookie.IsEssential = true;
            
        });

        services.AddRazorPages()
                .AddRazorRuntimeCompilation()
                .AddSessionStateTempDataProvider();

        services.AddSession();
    }

 public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UsebrowserLink();
            //app.UseDatabaseErrorPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            app.UseHsts();
        }

        app.UseHttpsRedirection();

        app.UseRewriter();

        app.UseStaticFiles();

        app.UseCookiePolicy();

        app.UseRouting();
       
        app.UseAuthentication();
        app.UseAuthorization();

        app.UseSession();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages();

        });



    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。