.net core 開啓Session

第一步先註冊session:

在Startup.cs文件中的ConfigureServices方法中添加:

     services.Configure<CookiePolicyOptions>(options =>
            {
               options.CheckConsentNeeded = context => false; 
                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的值
            });

第二步:

 public void Configure(
            IApplicationBuilder app,
            IHostingEnvironment env)
        {
            //定義LOG日誌
            var log = LogManager.GetLogger(repository.Name, typeof(Startup));   //添加日誌
            app.UseSession();//UseSession配置在UseMvc之前    開啓session
            app.UseDeveloperExceptionPage();
            app.UseStaticFiles();
            app.UseAuthentication();//開啓權限
            app.UseMvcWithDefaultRoute();
        }

第三步:使用NuGet引用程序集:

需要安裝 Microsoft.AspNetCore.Session 包

需要使用的結果引用如下:

Microsoft.AspNetCore.Mvc

using Microsoft.AspNetCore.Http;

擴展方法爲

     /// <summary>
        /// 設置Session
        /// </summary>
        /// <param name="key">鍵</param>
        /// <param name="value">值</param>
        protected void SetSession(string key, string value)
        {
            HttpContext.Session.SetString(key, value);
        }

        /// <summary>
        /// 獲取Session
        /// </summary>
        /// <param name="key">鍵</param>
        /// <returns>返回對應的值</returns>
        protected string GetSession(string key)
        {
            var value = HttpContext.Session.GetString(key);
            if (string.IsNullOrEmpty(value))
                value = string.Empty;
            return value;
        }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章