netcore使用session

复制代码
   //内存缓存
            services.AddMemoryCache();
            services.AddDistributedMemoryCache();
           
            services.AddSession(opts =>
            {
                opts.IdleTimeout = TimeSpan.FromHours(8); //设置Session闲置超时时间(有效时间周期)
                opts.Cookie.Name = "supor_cookie";
                opts.Cookie.HttpOnly = true;
            });
复制代码

services.AddHttpContextAccessor();

 

//必须在usemvc之前,否则报错
app.UseSession();

var httpContextAccessor = app.ApplicationServices.GetRequiredService<IHttpContextAccessor>();
HttpContextExpand.Configure(httpContextAccessor);

 

复制代码
 public static class HttpContextExpand
    {
        private static IHttpContextAccessor _accessor;

        public static Microsoft.AspNetCore.Http.HttpContext Current => _accessor.HttpContext;

        internal static void Configure(IHttpContextAccessor accessor)
        {
            _accessor = accessor;
        }
    }
复制代码

 

复制代码
public static class StaticHttpContextExtensions
    {
        public static void AddHttpContextAccessor(this IServiceCollection services)
        {
            services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
        }

        public static IApplicationBuilder UseStaticHttpContext(this IApplicationBuilder app)
        {
            var httpContextAccessor = app.ApplicationServices.GetRequiredService<IHttpContextAccessor>();
            HttpContextExpand.Configure(httpContextAccessor);
            return app;
        }
    }
复制代码

 

 

参考:

https://www.likecs.com/show-306826559.html

https://www.cnblogs.com/linezero/p/6801602.html

posted @   BloggerSb  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-03-29 mysql查询前几条记录
2019-03-29 ###My SQL Date相关函数
2019-03-29 mysql 基础 增删改查语句
2016-03-29 jQuery UI dialog
点击右上角即可分享
微信分享提示