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。

相关推荐
廋到被风吹走2 小时前
缓存一致性四大模式深度解析:从理论到架构实战
缓存·架构
wWYy.2 小时前
详解redis(1)
数据库·redis·缓存
Anastasiozzzz3 小时前
LRU缓存是什么?&力扣相关题目
java·缓存·面试
麦兜*3 小时前
SpringBoot集成Redis缓存,提升接口性能的五大实战策略
spring boot·redis·缓存
1314lay_10075 小时前
.NET 7.0在.NET Core Web API中实现限流
.net·.netcore
步步为营DotNet5 小时前
深入探究.NET中Stream:灵活高效的数据流处理核心
服务器·数据库·.net
1314lay_10076 小时前
C# .Net 7.0 Core添加日志可视化
visualstudio·c#·.net·.netcore
填满你的记忆7 小时前
【从零开始——Redis 进化日志|Day7】双写一致性难题:数据库与缓存如何不再“打架”?(附 Canal/读写锁实战)
java·数据库·redis·缓存·面试
时光追逐者8 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 66 期(2026年1.12-1.18)
c#·.net·.netcore
wWYy.9 小时前
详解redis(5):Gossiping 协议
数据库·redis·缓存