在.net core wep项目中使用Session

第1步:添加包引用

Install-Package Microsoft.AspNetCore.Session

第2步:添加代码启用Session

在项目Startup.cs文件的ConfigureServices方法中添加以下代码:

services.AddSession();

并且将:options.CheckConsentNeeded = context => true;

修改为:options.CheckConsentNeeded = context => false;

修改后的代码如下:

services.Configure<CookiePolicyOptions>(options =>

{

// This lambda determines whether user consent for non-essential cookies is needed for a given request.

options.CheckConsentNeeded = context => false; //默认是true

options.MinimumSameSitePolicy = SameSiteMode.None;

});

特别说明:

如果不将上述代码中的true改为false,则在新页面中获取不到Sesssion(值为null).切记

在项目Startup.cs文件的Configure方法中添加以下代码:

app.UseSession();

第3步:设置Session

HttpContext.Session.SetString("CheckCode", CodeText);

第4步:读取Session

var checkCode = HttpContext.Session.GetString("CheckCode");

原文地址:https://www.cnblogs.com/tshaoguo/p/10143927.html

时间: 2024-10-10 20:50:31

在.net core wep项目中使用Session的相关文章

在.net core web项目中生成二维码

原文:在.net core web项目中生成二维码 1.添加QRCoder包引用 2. public IActionResult MakeQrCode()        { string url="https://www.baidu.com"; var generator = new QRCodeGenerator(); var codeData = generator.CreateQrCode(str,QRCodeGenerator.ECCLevel.M,true); var qrc

(21)项目中Hibernate Session的管理方式

1.openSession和getCurrentSession的区别 package com.rk.hibernate.cache; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.junit.Test; public class App_SessionInProject { private static Se

如何在启用JWT Token授权的.NET Core WebApi项目中下载文件

背景 前几天,做项目的时候遇到一个文件下载的问题.当前系统是一个前后端分离的项目,前端是一个AngularJs项目, 后端是一个.NET Core WebApi项目.后端的Api项目使用了Jwt Token授权,所以每个Api请求都需要传递一个Bearer Token. 这一切都看起来理所当然,但是当需要从WebApi下载文件的时候,出现了问题.以前下载文件的时候,我们可以在Javascript中使用window.open('[文件下载Api]')的方式下载文件,但是这个方法不能接收Bearer

在asp.net core的项目中通过log4net添加日志记录到本地文件

=============================================== 2020/2/25_第1次修改                       ccb_warlock =============================================== 由于之前的时间都忙于项目的业务开发,对于log4net的使用一直是“拿来主义”,仅仅用在了调试时输出到控制台看结果,而没有深究配置文件的参数和具体的机制. 正巧这段时间项目进度没有那么紧张,我也有时间来完善框

.NET Core 控制台项目中的Nuget打包类库及引用

由于使用的是MAC版本的VSCode,所以全部是通过dotnet命令来完成的. 1.dotnet new lib 创建类库项目: 2.编辑项目根目录下的.csproj文件,添加版本号(建议): 1 <Project Sdk="Microsoft.NET.Sdk"> 2 3 <PropertyGroup> 4 <TargetFramework>netstandard1.4</TargetFramework> 5 <Version>

Visual Studio 2015在.NET Core RC2项目中的一个错误。

更新了.NET Core RC2 之后,VS的Web Tools更新为“Preview 1”了. 这个版本有一个问题,害我折腾了一个下午. 就是在项目界面的“依赖项 - NPM”上面错误地显示了不必要的“未安装”. 当时我看见这个大叹号和“未安装”三个字,就开始各种折腾,清空.更新NPM.逐个删除包,后来就定位到webpack这个包,把它去掉,就显示正常了. 但是让人纳闷的是,npm的安装日志里并没有什么错误,当时webpack都已经安装成功了啊,而且都能用的. 再后来就发现webpack依赖的

web 项目中 SQLAlchemy session 的生命周期管理

假设已有一个 Session 工厂类: Session = sessionmaker(bind=some_engine) 那么 session 实例的生命周期可以为: 最短模式 -- 每次请求新建一个 session,用完就 close @contextmanager def get_session_scope(): try: s = Session() yield s s.commit() except: s.rollback() finally: s.close() 这种模式不适合 web

.net webapi项目中支持session

webapi中默认是不支持session的开启的 需要在Global.asax文件中,添加如下代码 public override void Init() { this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior( System.Web.SessionState.SessionStateBehavior.Required); base.Init(); }

.NET Core类库项目中如何读取appsettings.json中的配置

这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions . 1)先看丑陋的方法 比如在 RedisClient 中需要读取 appsettings.json 中的 redis 连接字符串: { "redis": { "ConnectionString": "xxx" } } 需要在 RedisClient 的构造函数参数中添加 IConfigurati