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 小时前
深入理解 C#.NET Interlocked.Increment:原子操作的核心
c#·.net
独自破碎E3 小时前
Spring Boot工程启动以后,怎么将数据库中已有的固定内容打入到Redis缓存中?
数据库·spring boot·缓存
此生只爱蛋4 小时前
【Redis】数据类型补充
数据库·redis·缓存
我是唐青枫6 小时前
深入理解 C#.NET Parallel:并行编程的正确打开方式
开发语言·c#·.net
TypingLearn7 小时前
Perigon.CLI 10.0 重磅发布【AspNetCore开发模板和辅助工具】
c#·.net·aspnetcore
忧郁蓝调267 小时前
Redis不停机数据迁移:基于 redis-shake 的跨实例 / 跨集群同步方案
运维·数据库·redis·阿里云·缓存·云原生·paas
奋斗べ青年.9 小时前
【redis】了解redis的主从和集群搭建
数据库·redis·缓存
mudtools12 小时前
如何设计易维护、低学习成本的飞书.NET SDK组件
学习·.net·飞书
五阿哥永琪12 小时前
Caffeine 本地缓存
缓存
optimistic_chen12 小时前
【Redis 系列】常用数据结构---String类型
数据结构·数据库·redis·缓存·string