介绍Asp.net使用Session的方法


本文摘自PHP中文网,作者Y2J,侵删。

Session 是保存用户和 Web 应用的会话状态的一种方法,ASP.NET Core 提供了一个用于管理会话状态的中间件,本篇文章主要介绍了Asp.net Core中使用Session ,有兴趣的可以了解一下、

前言

2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年。

元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Core中引用dll,以往我们引用DLL都是直接引用,在Core里这样是不行的,必须基于NuGet添加,或者基于project.json添加,然后保存VS会启动还原类库。

第二就是使用Session的问题,Core里使用Session需要添加Session类库。

添加Session

在你的项目上基于NuGet添加:Microsoft.AspNetCore.Session。

修改startup.cs

在startup.cs找到方法ConfigureServices(IServiceCollection services) 注入Session(这个地方是Asp.net Core pipeline):services.AddSession();

接下来我们要告诉Asp.net Core使用内存存储Session数据,在Configure(IApplicationBuilder app,...)中添加代码:app.UserSession();

Session

1、在MVC Controller里使用HttpContext.Session

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

using Microsoft.AspNetCore.Http;

 

public class HomeController:Controller

{

   public IActionResult Index()

   {

       HttpContext.Session.SetString("code","123456");

       return View();

    }

 

    public IActionResult About()

    {

       ViewBag.Code=HttpContext.Session.GetString("code");

       return View();

    }

}

2、如果不是在Controller里,你可以注入IHttpContextAccessor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

public class SomeOtherClass

{

   private readonly IHttpContextAccessor _httpContextAccessor;

   private ISession _session=> _httpContextAccessor.HttpContext.Session;

 

   public SomeOtherClass(IHttpContextAccessor httpContextAccessor)

   {

      _httpContextAccessor=httpContextAccessor;      

   }

 

   public void Set()

   {

     _session.SetString("code","123456");

   }

   

   public void Get()

  {

     string code = _session.GetString("code");

   }

}

存储复杂对象

阅读剩余部分

相关阅读 >>

c# 实现截图功能的操作实例

c#中实现复制与删除文件的方法

.net core类库中使用ef core迁移数据库到sql server的方法_实用技巧

c#根据表格偶数与奇数加载不同颜色的实例分析

.net mvc 使用ueditor上传图片

关于asp.net core网站在docker中运行的详解

传播智客asp.net中级系列视频视频资料

oracle clob字段过长保存出错改如何解决?

总结.net平台上一些常用的框架

.net实现微信js-sdk分享功能代码展示

更多相关阅读请进入《.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...