ASP.NET Core购物车异常:添加商品后Session丢失求助
问题:ASP.NET Core MVC购物车Session保存失败及书籍查询方法偶发报错
我正在学习C# ASP.NET Core,开发一个书店项目。当前遇到两个问题:
- 购物车数据保存丢失:
ShoppingCartService.cs中的public async Task AddToCart(int bookId)方法执行时,能成功将商品加入购物车对象,但调用最后一行SaveShoppingCart(shoppingCart)时,所有数据丢失。进入SaveShoppingCart方法后,_httpContextAccessor.HttpContext?.Session为空,无法完成购物车数据的Session存储。 - 书籍查询方法偶发报错:
BookService.cs中的public async Task<Book> GetBookByIdAsync(int id)方法偶尔会抛出错误。
已完成的配置
- Session注册(Program.cs):
builder.Services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(30); // Adjust as needed options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; });
- 中间件配置(Program.cs):
app.UseRouting(); app.UseSession(); app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseAuthorization();
- HttpContextAccessor注册(Program.cs):
builder.Services.AddHttpContextAccessor();
相关代码
购物车及关联服务的完整代码如下:
(此处粘贴
ShoppingCartService.cs、BookService.cs及其他关联代码内容)
希望能帮忙排查这两个问题的原因,感谢!
内容的提问来源于stack exchange,提问作者Velichko Slavilov
相关产品推荐
相关产品推荐

