.net ControllerBase(就是在webapi中) 如何保存信息 例如session

快乐起航2020 2020-04-07 03:34:00
.net ControllerBase(就是在webapi中) 如何保存信息 例如session
...全文
524 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2020-04-10
  • 打赏
  • 举报
回复
引用 5 楼 快乐起航2020 的回复:
[quote=引用 4 楼 正怒月神 的回复:]
HttpContext.Current.Session["User"] = user;
.NET core貌似不能这样写[/quote] 没用过core,不太清楚。 哈哈
杀马特丶蛮牛 2020-04-10
  • 打赏
  • 举报
回复
startup.cs ConfigureServices 里面加

services.Configure<CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded = context => false;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
            services.AddDistributedMemoryCache();//启用session之前必须先添加内存

            services.AddSession(options =>
            {
                options.Cookie.Name = "";//自己随便弄个名字
                options.IdleTimeout = System.TimeSpan.FromSeconds(120);//设置session的过期时间
                options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
            });
start.cs Configure里面加

 app.UseCors("Cors");
            app.UseCookiePolicy();
            app.UseSession();//UseSession配置在UseMvc/UseEndpoints之前
控制器里面这样写 HttpContext.Session.SetString("ValidateCode", randomCode); var code = HttpContext.Session.GetString("ValidateCode");
楠小南 2020-04-10
  • 打赏
  • 举报
回复
HttpContext.Session.Set("key", new byte[0]);

webapi 用 session很麻烦的,要在容器开启session 支持,还要依赖cookie ,还要解决跨域,用Token 多好
快乐起航2020 2020-04-10
  • 打赏
  • 举报
回复
引用 4 楼 正怒月神 的回复:
HttpContext.Current.Session["User"] = user;
.NET core貌似不能这样写
杀马特丶蛮牛 2020-04-10
  • 打赏
  • 举报
回复
引用 11 楼 快乐起航2020 的回复:
[quote=引用 7 楼 杀马特丶蛮牛 的回复:] startup.cs ConfigureServices 里面加

services.Configure<CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded = context => false;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
            services.AddDistributedMemoryCache();//启用session之前必须先添加内存

            services.AddSession(options =>
            {
                options.Cookie.Name = "";//自己随便弄个名字
                options.IdleTimeout = System.TimeSpan.FromSeconds(120);//设置session的过期时间
                options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
            });
start.cs Configure里面加

 app.UseCors("Cors");
            app.UseCookiePolicy();
            app.UseSession();//UseSession配置在UseMvc/UseEndpoints之前
控制器里面这样写 HttpContext.Session.SetString("ValidateCode", randomCode); var code = HttpContext.Session.GetString("ValidateCode");
第一次使用core,没很看懂,还是很感谢[/quote] 直接这样加就完事了,就能用session了,其他啥也不用管,奥利给
快乐起航2020 2020-04-10
  • 打赏
  • 举报
回复
引用 7 楼 杀马特丶蛮牛 的回复:
startup.cs ConfigureServices 里面加

services.Configure<CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded = context => false;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
            services.AddDistributedMemoryCache();//启用session之前必须先添加内存

            services.AddSession(options =>
            {
                options.Cookie.Name = "";//自己随便弄个名字
                options.IdleTimeout = System.TimeSpan.FromSeconds(120);//设置session的过期时间
                options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
            });
start.cs Configure里面加

 app.UseCors("Cors");
            app.UseCookiePolicy();
            app.UseSession();//UseSession配置在UseMvc/UseEndpoints之前
控制器里面这样写 HttpContext.Session.SetString("ValidateCode", randomCode); var code = HttpContext.Session.GetString("ValidateCode");
第一次使用core,没很看懂,还是很感谢
快乐起航2020 2020-04-10
  • 打赏
  • 举报
回复
引用 6 楼 楠小南 的回复:
HttpContext.Session.Set("key", new byte[0]); webapi 用 session很麻烦的,要在容器开启session 支持,还要依赖cookie ,还要解决跨域,用Token 多好
不明觉厉
楠小南 2020-04-10
  • 打赏
  • 举报
回复
引用 8 楼 正怒月神 的回复:
[quote=引用 5 楼 快乐起航2020 的回复:]
[quote=引用 4 楼 正怒月神 的回复:]
HttpContext.Current.Session["User"] = user;

.NET core貌似不能这样写[/quote]
没用过core,不太清楚。
哈哈[/quote]

你这个是 .net framework 的写法,core 里面 方法名称不同罢了,2.2 3.0不同的版本 方法名还有一点区别
正怒月神 2020-04-07
  • 打赏
  • 举报
回复
HttpContext.Current.Session["User"] = user;
  • 打赏
  • 举报
回复
弄个静态类做缓存
快乐起航2020 2020-04-07
  • 打赏
  • 举报
回复
引用 1 楼 TinMan2012 的回复:
Session.Add(name, value);
这类里面没有这个方法
艾克是大叔 2020-04-07
  • 打赏
  • 举报
回复
Session.Add(name, value);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧