实体框架 – Unity Lifetime Managers和EF Data Context – >
所有,
有很多关于Unity Lifetime Managers的帖子,但我还没有发现有人说“在这些情况下你应该总是使用X”这是一个很好的经验法则.让我描述一下我的应用程序,我有一个ASP.NET MVC 4 Web应用程序.我有一个包含3个项目的Visual Studio解决方案,我的’Core’项目包含我的所有EF内容,测试项目和MVC Web项目.我使用Unity进行依赖注入,现在有以下代码: // Context container.RegisterType<IDatabaseFactory,DatabaseFactory>( new ContainerControlledLifetimeManager(); container.RegisterType<UnitOfWork>( new ContainerControlledLifetimeManager()); 但是,我注意到我的上下文没有重新创建每个新的Web请求,这是我认为我想要的(如果我在这个假设中错了,请告诉我).我很难分析下面列出的网站的所有信息,并阅读了很多人创建自己的名为PerHttpRequestLifetimeManager的类来处理这个问题. 这里最好的做法是什么? >通过微软开发者网络了解终身经理 – http://msdn.microsoft.com/en-us/library/ff660872(v=PandP.20).aspx 解决方法
是的,您通常需要每个请求一个DbContext.
在每个请求上创建的PerHttpRequestLifetimeManager或子容器是处理它的典型方法. 最新版本的Unity引入了Unity bootstrapper for ASP.NET MVC,它有一个新的内置生命周期管理器:PerRequestLifetimeManager. 您可以在Developer’s Guide to Dependency Injection Using Unity第3章Dependency Injection with Unity中阅读更多内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – System.Web.Routing.RouteCollection不
- .net core 中的经典设计模式的应用
- AppSetting配置工具类
- asp.net-mvc-3 – ASP.Net MVC 3:在html.DropDownListFor中
- asp.net – 如何使用app_GlobalResource或app_LocalResourc
- asp.net-mvc – 在布局页面上渲染脚本时出现奇怪错误
- .net – 如何过滤FileUpload控件?
- asp.net – 无法从程序集’Elmah’加载’Elmah.ErrorLogMod
- 验证 – 关于构建asp.net mvc应用程序的建议
- asp.net – App_Licenses.dll和licx之间的关系是什么?