System.InvalidOperationException: Session has not been configured for this application or request. 报错的原因和解决方法
2024-11-26
155 0System.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 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!