asp.net core webapi Session 内存缓存

Startup.cs文件中的ConfigureServices方法配置:

#region Session内存缓存
            services.Configure<CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
            //启用内存缓存(该步骤需在AddSession()调用前使用)
            services.AddDistributedMemoryCache();//启用session之前必须先添加内存
            //services.AddSession();
            services.AddSession(options =>
            {
                options.Cookie.Name = ".AdventureWorks.Session";
                options.IdleTimeout = TimeSpan.FromSeconds(2000);//设置session的过期时间
                options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
            });
            #endregion

Configure 方法中:

//设置session
            app.UseSession(); //UseSession配置在UseMvc之前

控制器中使用:

//存session
            HttpContext.Session.SetString("userId",user.UserId);
//取
            userId = HttpContext.Session.GetString("userId");

相关推荐