当前位置:  开发笔记 > 编程语言 > 正文

如何在3层Web应用程序(ASP.NET MVC)中使用Autofac?

如何解决《如何在3层Web应用程序(ASP.NETMVC)中使用Autofac?》经验,为你挑选了1个好方法。

我可以找到的示例使用双层体系结构,其中控制器直接使用数据访问层中的存储库类.看这里或这里.

如果您有使用这些组件的服务或业务逻辑层,您将从数据访问层注册组件?理想情况下,数据访问层不应该从用户界面层引用,对吧?所以Application_Start不适合这样做.

什么是更好的方式?

谢谢!



1> Todd Smith..:

有些东西必须知道你想要使用哪些实现.通常有3种方法可以实现此目的:

    在编译时,这是Autofac使用的

    在运行时从Castle Windsor可以做的预定义配置文件

    在运行时使用dyanamic configuartion

使用Autofac,您有几个选择

    在Application_Start中将所有内容连接在一起

    将责任交给实现工厂模式的另一个组件并注册所需的组件.

对于#2,我会实现类似IContainer接口的东西,以便您的IoC框架与您的系统松散耦合.然后让您的数据访问实现使用该接口来注册所需的组件.


除非您的DAL位于Web服务后面,否则您的Web应用程序将需要通过bin目录或GAC访问您的DAL程序集,不是吗?
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有