Asp.net mvc 3 在MVC3应用程序上为工作单元/存储库/服务使用Unity和自定义LifetimeManger?
我正在将unity 2.0与MVC3一起使用,需要一些帮助来理解LifetimeManager。我读过很多人使用自定义LifeTimeManager将项目放入HTTPContext。这非常有意义,因为您只希望在MVC中请求的生命周期中使用UoW。但是,我的存储库和服务是否需要相同的生命周期管理器?我看到了UoW、存储库和服务的同一个生命周期管理器Asp.net mvc 3 在MVC3应用程序上为工作单元/存储库/服务使用Unity和自定义LifetimeManger?,asp.net-mvc-3,entity-framework,entity-framework-4,unity-container,Asp.net Mvc 3,Entity Framework,Entity Framework 4,Unity Container,我正在将unity 2.0与MVC3一起使用,需要一些帮助来理解LifetimeManager。我读过很多人使用自定义LifeTimeManager将项目放入HTTPContext。这非常有意义,因为您只希望在MVC中请求的生命周期中使用UoW。但是,我的存储库和服务是否需要相同的生命周期管理器?我看到了UoW、存储库和服务的同一个生命周期管理器 我的存储库依赖于UoW,我的服务依赖于存储库。我不确定Unity在默认情况下对生命周期管理器做了什么,但我确实创建了一个定制的HttpContext管
我的存储库依赖于UoW,我的服务依赖于存储库。我不确定Unity在默认情况下对生命周期管理器做了什么,但我确实创建了一个定制的HttpContext管理器,并且仅仅在UoW上就遇到了问题。我还没有把它放在我的任何服务或存储库上。我想知道我是否需要或者这是否是最佳实践。只需使用unity.mvc3的Nuget包,它包含一个HierarchyCallifeTimeManager。当您在映射中注册需要处理的类型时,它将处理它们。 不要担心直接使用httpcontext做任何事情,这要容易得多 请参阅上的一节 可识别依赖项 对于要显式处置(实现IDisposable)的任何内容,请使用此生存期管理器:
container.RegisterType(new HierarchicalLifetimeManager());
只需使用unity.mvc3的Nuget包,它包含一个HierarchyCallifeTimeManager。当您在映射中注册需要处理的类型时,它将处理它们。 不要担心直接使用httpcontext做任何事情,这要容易得多 请参阅上的一节 可识别依赖项 对于要显式处置(实现IDisposable)的任何内容,请使用此生存期管理器:
container.RegisterType(new HierarchicalLifetimeManager());