NET 10 集成Session

首先,你需要在Program 文件中的Main 方法中添加Session 服务:

csharp 复制代码
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddSession(options =>
{
	options.IdleTimeout = TimeSpan.FromSeconds(10); // 设置Session 过期时间
	options.Cookie.HttpOnly = true;
	options.Cookie.IsEssential = true;
});

var app = builder.Build();

app.UseHttpsRedirection();
app.UseAuthorization();
app.UseSession(); // 使用Session 中间件
app.MapControllers();
app.Run();

接下来,你可以在Controller 中使用HttpContext.Session 来设置和获取Session:

csharp 复制代码
public class HomeController : Controller
{
	public IActionResult Index()
	{
		// 设置Session
		HttpContext.Session.SetString("Name","Test");
		return View();
	}
	public IActionResult Privacy()
	{
		// 获取Session
		var name = HttpContext.Session.GetString("Name");
		ViewData["Name"] = name;
		return View();
	}
}

在上述代码中,我们首先在ConfigureServices 方法中添加了Session 服务,并设置了Session 的过期时间和Cookie 的属性。

然后在Configure 方法中使用了Session 中间件。最后在HomeController 中设置和获取了Session。

相关推荐
姜鱼问生6 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
weixin1997010801613 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存
hweiyu0013 小时前
Redis命令:BLPOP
redis·缓存
波力海苔夹心脆67516 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
hez201018 小时前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
小小龙学IT19 小时前
C++ Redis 客户端深度解析(hiredis 与 redis-plus-plus)——工业数采实时缓存 C++ 侧实战
c++·redis·缓存
mengge.cloud19 小时前
Redis
运维·服务器·数据库·redis·缓存·云计算
欣栀♡19 小时前
Redis 缓存穿透、击穿、雪崩,背出定义只是及格线
数据库·redis·缓存
禾小西19 小时前
08丨Redis 哨兵集群:哨兵故障后还能完成切换吗?
数据库·redis·缓存
阿标在干嘛20 小时前
缓存架构的“场景适配“:我们为什么在部分服务中采用了本地缓存?
缓存·架构