目前,我注入工作单元的一个实例为我服务层对象在我的控制器控制器,并且在注册期间定义了UoW的生命周期,以便在HTTP请求的范围内使用相同的UoW。在请求期间实例化的每个服务对象都将通过Unity注入相同的实例UoW。我也想在我的控制器中使用异步操作,我不确定这里是否有任何影响。注册ObjectContext的使用Unity在MVC
的HierarchicalLifetimeManager的描述听起来像我想要什么,但我想是110%肯定的,因为我觉得,如果我犯了这个错误,我可以用一个调试的噩梦结束了(参考:http://unitymvc3.codeplex.com/)
会以下注册为我提供了期望的行为,还是应该以另一种方式进行处理?
container.RegisterType<IOrderService, OrderService>();
container.RegisterType<IInventoryService, InventoryService>();
container.RegisterType<IUnitOfWork, UnitOfWork>(new HierarchicalLifetimeManager());
谢谢!
克里斯