DryIoc mvc 项目集成

据IOC性能测试排名,DryIoc是目前运行性能最好的依赖注入组件。 详情参考:https://bitbucket.org/dadhi/dryioc/

下面一步一步搭建我们的DryIoc 的mvc项目。

1. Install Package

PM> install-package dryioc.mvc

2. Global.asax.cs Application_start() 填加

IContainer c = new Container();

// 这里需要引用DryIoc.Mvc命名空间

c = DryIocMvc.WithMvc(c);

//动态注册服务

var impls = Assembly.GetAssembly(typeof(UserService)).GetTypes().Where(

type=>type.IsPublic &&

!type.IsAbstract &&

type.GetInterfaces().Length != 0 &&

type.Name.EndsWith("Service"));

foreach(var service in impls)

{

    foreach(var interface1 in service.GetInterfaces())

   {

        c.Register(interface1, service, Reuse.Singleton);

   }
}

代码实现省略了, 其原则就是通过类的构造函数去注入接口实现。

原文地址:https://www.cnblogs.com/sgciviolence/p/5114128.html