Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 在MVC3应用程序上为工作单元/存储库/服务使用Unity和自定义LifetimeManger?_Asp.net Mvc 3_Entity Framework_Entity Framework 4_Unity Container - Fatal编程技术网

Asp.net mvc 3 在MVC3应用程序上为工作单元/存储库/服务使用Unity和自定义LifetimeManger?

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管

我正在将unity 2.0与MVC3一起使用,需要一些帮助来理解LifetimeManager。我读过很多人使用自定义LifeTimeManager将项目放入HTTPContext。这非常有意义,因为您只希望在MVC中请求的生命周期中使用UoW。但是,我的存储库和服务是否需要相同的生命周期管理器?我看到了UoW、存储库和服务的同一个生命周期管理器


我的存储库依赖于UoW,我的服务依赖于存储库。我不确定Unity在默认情况下对生命周期管理器做了什么,但我确实创建了一个定制的HttpContext管理器,并且仅仅在UoW上就遇到了问题。我还没有把它放在我的任何服务或存储库上。我想知道我是否需要或者这是否是最佳实践。

只需使用unity.mvc3的Nuget包,它包含一个HierarchyCallifeTimeManager。当您在映射中注册需要处理的类型时,它将处理它们。 不要担心直接使用httpcontext做任何事情,这要容易得多

请参阅上的一节 可识别依赖项

对于要显式处置(实现IDisposable)的任何内容,请使用此生存期管理器:


container.RegisterType(new HierarchicalLifetimeManager());

只需使用unity.mvc3的Nuget包,它包含一个HierarchyCallifeTimeManager。当您在映射中注册需要处理的类型时,它将处理它们。 不要担心直接使用httpcontext做任何事情,这要容易得多

请参阅上的一节 可识别依赖项

对于要显式处置(实现IDisposable)的任何内容,请使用此生存期管理器:


container.RegisterType(new HierarchicalLifetimeManager());