Asp.net mvc使用unity



   使用unity创建的对象,对象中可以实现依赖注入
   但是如果是自己实例化的就不行了,所以要想在Controller中实现unity的依赖注入
   就比如要使用unity来创建Controller对象,而创建Controller对象是asp.net mvc实现
   但是我们也可以实现IDependencyResolver与IControllerActivator接口来进行
   我们自己的Controller对象创建


   asp.net mvc中的分层处理每一层需要调用另外一层,如果把unity的映射写到一个地方就容易混乱,

   可以使用从每一层读读取自己的配置文件在一起加入到unity里

IUnityContainer container = new UnityContainer();

            //Controller层unity配置文件
            UnityConfigurationSection unityController = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
            //Service层unity配置文件
            UnityConfigurationSection unityService = ConfigManager.GetSection("unity");

            container.LoadConfiguration(unityController, "UnityController");
            container.LoadConfiguration(unityService, "UnityService");

  UnityController配置:


              
      
        
       
    
   

只是在读取非启动项目的配置文件时需要使用ConfigurationManager.OpenExeConfiguration方法


注意使用属性注入的时候要把属性设置public不然要报

is not settable.   



你可能感兴趣的:(Asp.net)