1. 程式人生 > 實用技巧 >asp.net core webapi Session 記憶體快取

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");