我正在为ASP.NET MVC中未经身份验证的用户实现一个简单的会话购物车,我想做得对。
过去,我始终将购物车ID存储在持久性Session["CartID"]
商店中,并作为Cookie存储。每当我需要显示购物车时,我都会从Carts
和CartItems
表中查找用户的购物车商品。但在内部我知道更强类型的方法会更清晰。
在谷歌搜索最新的会话MVC之后,我找到了术语HttpSessionStateWrapper
,这似乎是处理会话的可测试方式。但我没有找到任何好的教程或标准化的实现。也许这只是一个嗡嗡声,我应该坚持Session["..."]
。
在最新版本的ASP.NET MVC中使用会话实现购物车的正确方法是什么?
答案 0 :(得分:4)
答案 1 :(得分:0)
MVC使用名为HttpContextBase的HttpContext类的可测试和可模拟的抽象。您根本不需要包装器,仍然可以对控制器进行模拟和单元测试。