You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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)方法偶尔会抛出错误。

已完成的配置

  1. Session注册(Program.cs):
builder.Services.AddSession(options =>
{ 
    options.IdleTimeout = TimeSpan.FromMinutes(30); // Adjust as needed 
    options.Cookie.HttpOnly = true; 
    options.Cookie.IsEssential = true; 
});
  1. 中间件配置(Program.cs):
app.UseRouting();
app.UseSession();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseAuthorization();
  1. HttpContextAccessor注册(Program.cs):
builder.Services.AddHttpContextAccessor();

相关代码

购物车及关联服务的完整代码如下:

(此处粘贴ShoppingCartService.cs、BookService.cs及其他关联代码内容)

希望能帮忙排查这两个问题的原因,感谢!

内容的提问来源于stack exchange,提问作者Velichko Slavilov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:33:16