加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

entity-framework-4 – 在多层体系结构中使用Autofac

发布时间:2020-12-16 06:44:33 所属栏目:asp.Net 来源:网络整理
导读:我是DI / IoC概念的新手,并希望在3层ASP.NET Webforms应用程序中使用Autofac. UI层:ASP.NET webforms网站. BLL:在DAL上调用存储库的业务逻辑层. DAL:.EDMX文件(实体模型)和带有Repository类的ObjectContext,它们抽象每个实体的CRUD操作. 实体:POCO实体.
我是DI / IoC概念的新手,并希望在3层ASP.NET Webforms应用程序中使用Autofac.

> UI层:ASP.NET webforms网站.
> BLL:在DAL上调用存储库的业务逻辑层.
> DAL:.EDMX文件(实体模型)和带有Repository类的ObjectContext,它们抽象每个实体的CRUD操作.
>实体:POCO实体.持久无知.由Microsoft的ADO.Net POCO实体生成器生成.

我已经问了一个更一般的问题here.基本上,我想在我的DAL中为每个HttpContext创建一个obejctcontext.但我不想在UI中添加对DAL的引用或直接在DAL中访问HttpContext.我想这就是IoC工具的用武之地.我之前的问题的答案是使用温莎城堡的一个很好的例子.我想使用Autofac作为我的IoC工具,不知道如何实现这一点. (如何在application_start中访问DAL以注册组件,而我不想在我的UI中引用它,能够在BLL中使用DAL组件与Autofac的正确引用是什么,我应该使用Autofac注册BLL作为组件太)

很抱歉没有提供明确的问题并请求一些工作示例,但我对整个IoC概念非常不熟悉,我认为我无法在目前的时间限制项目中实现它.

解决方法

Autofac模块是您正在寻找的技术: http://code.google.com/p/autofac/wiki/StructuringWithModules

模块将相关配置分组,例如您的DAL类型,可以通过Web.config:http://code.google.com/p/autofac/wiki/XmlConfiguration#Modules加载到应用程序中

这将避免您的Web应用程序和DAL之间的任何硬引用.

如果要按请求注册DAL组件,请使用InstancePerLifetimeScope()共享修饰符.这将与InstancePerHttpRequest()的工作方式相同,除非您在应用程序中自定义生命周期层次结构(不太可能).

祝你好运!

缺口

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读