实体框架 – 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 – 模型绑定与禁用文本框
- asp.net-mvc-3 – MVC-3和Html.Serialize(ASP.NET 4,MVC3)
- 发布ASP.NET应用程序时,是否应该将构建类型更改为Visual St
- 如何从ASP.NET中的soap异常中提取内部异常?
- asp.net – UpdatePanel没有名为’TextBox’的公共属性.
- asp.net – 用于集成的IIS 7的自定义HttpModule
- 具有匹配客户端和服务器端标记的ASP.NET页面的选项?
- asp.net-mvc – 使用Repository/Service Pattern和MVC时缓存
- asp.net-mvc – 为多语言ASP.NET MVC Web应用程序设置Curre
- 如何使用ASP.NET Core创建多部分HTTP响应
- 体验使用gcServer =“true”为.NET设置垃圾回收器
- ASP.Net,C#.Net和VB.Net之间的区别?
- asp.net-mvc-3 – 滚动我自己的@ Html.BeginfBrm
- asp.net-mvc – VaryByParam =“*”是否也读取了
- asp.net – 通过Ajax Post – MVC3更新模型更改视
- 在ASP.Net的URL中检索锚点链接
- asp.net-mvc – asp fontawesome 404(未找到)
- asp.net-mvc – 如何将锚/哈希的参数添加到Redir
- asp.net – 未知的服务器标签’ajaxToolkit:Cal
- asp.net – 发布期间自定义app_offline.htm文件
