我在构造函数中使用DI。 BaseShoppingCart是我设置ShoppingCartId(用于购物车项目)的服务。 这是构造函数:
public BaseShoppingCart( HttpContextBase context, IRepository<TCart> cart ,IProductService productservice)
{
_context = context;
_cart = cart;
_productService = productservice;
ShoppingCartId = _context.Request.IsAuthenticated ? _context.User.Identity.Name : getSessionCartId();
}
我需要你的意见:
谢谢!
答案 0 :(得分:1)
隔离用户(请求)为每个请求创建新的子容器并解析来自子级的服务。因此,您可以使用HierarchicalLifetimeManager
注册您的服务,并为每个用户(请求)获取新实例。
Here就是很好的例子。
如果你不知道,你实际上做了什么,我不建议使用PerThreadLifetimeManager。