ASP.NET MVC 3 & MEF 2.0
来源:广州中睿信息技术有限公司
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1491

  ASP.NET MVC3 和 Unity 结合使用的示例,Unity 通过 Register 方法或者配置注入实例,MEF 则是通过 [Import] [Export] 特性绑定依赖。在 MEF 2.0 中当前 dll 中如果在 *.Parts.* 命名空间下的类型会自动作为依赖源。

 

       CompositionProvider.AddPartsAssembly 亦可运行时添加依赖对象,非常灵活。通过元数据定义的依赖和通过XML来描述依赖关系是各有利弊,XML方式势必带来配置和维护的学习成本(编码注入是一种写法,配置又是另一种写法),而元数据定义方式使得关系凌乱分散,侵入性也较强。

 

  最新的MEF 2.0 Preview 5 加入了 System.ComponentModel.Composition.Web.Mvc.CodePlex.dll 简化了构建一个灵活的,可测试的ASP.NET MVC应用程序,实现:

 

  1)为Controller提供依赖注入

  2)通过定义简单的约定(Import & Export) 识别和配置 MEF Parts(组合)

  3)将依赖实例的生存周期映射到Request的生存周期上

  4) 简化 ActionFilter 和 ModelBinder 的依赖注入实现

 

  * 目前还没有提供 nuget 的方式,所以只能下载 dll 手动添加:

         

  

 

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。