返回

System.InvalidOperationException: Session has not been configured for this application or request. 报错的原因和解决方法

2024-11-26 Exception Session 报错 155 0

System.InvalidOperationException: 'Session has not been configured for this application or request.' 这个错误通常发生在使用 ASP.NET Core 的应用程序中,具体来说,是由于未正确配置会话(Session)的中间件导致的。以下是引发此错误的常见原因及对应的解决方法:

原因分析:

未添加会话服务: 在 Startup.cs 文件中的 ConfigureServices 方法中,未调用 services.AddSession() 来注册会话服务。

未在中间件管道中使用会话: 在 Startup.cs 文件中的 Configure 方法中,未调用 app.UseSession() 将会话中间件添加到请求处理管道中。

未正确设置会话存储: 默认情况下,会话需要存储数据(如内存存储)。如果未配置存储提供程序(例如 MemoryCache),可能会导致会话不可用。

使用了会话之前访问了它: 如果在请求生命周期中尝试访问会话,但会话中间件尚未运行,也会引发此异常。

解决方法:

配置会话session服务,在站点根目录下Program.cs文件里添加如下代码:

var builder = WebApplication.CreateBuilder(args);
// 添加Session服务
builder.Services.AddSession();

配置中间件管道

var app = builder.Build();
app.UseSession(); // 启用会话中间件

完成这些步骤后,Session has not been configured for this application or request 错误应该解决了。

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!

DOVE 网络加速器 梯子 免费 试用

顶部