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。

相关推荐
彭波39612 小时前
.NET Framework 3.5问题修复教程!可以离线修复
windows·安全·电脑·.net·开源软件
我真会写代码15 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
我真会写代码16 小时前
Redis高频面试题(含标准答案,覆盖基础+进阶+实战)
数据库·redis·缓存
6+h17 小时前
【Redis】缓存问题及解决方案
数据库·redis·缓存
6+h18 小时前
【Redis】高可用核心讲解
数据库·redis·缓存
007张三丰18 小时前
常用缓存技术全方位解析:从本地缓存到分布式缓存
分布式·缓存
Aloha_up19 小时前
redis与数据库的一致性问题分析
数据库·redis·缓存
武藤一雄19 小时前
WPF处理耗时操作的7种方法
microsoft·c#·.net·wpf
武藤一雄20 小时前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
難釋懷20 小时前
初识Caffeine
java·缓存