.net core 开启Session

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41600552/article/details/84108982

第一步先注册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;
        }

猜你喜欢

转载自blog.csdn.net/weixin_41600552/article/details/84108982
今日推荐