Asp.net MVC+unity简单架构


       

            


        view与controller命名

        

      

     如果某层需要扩展可以增加一个例如dao

    


一:分离view和controller

        把view与controller分离到两个不同的项目中,层次更清晰

       这点很简单只需要新建一个类库,添加System.Web.Mvc.dll的引用就可以建立Controller了,

       然后就可以把默认项目中的controller删除了,引用一个新建的类库,Controller就可以正常使用了

        

       注意:由于controller被单独放到了一层 ,使用request,session这些需要引用Ssytem.Web这个DLL   

   

二:在建立service,dao添加引用就可以了,主要是使用unity依赖注入controler与分层配置的方法

      1:使用unity依赖注入controler

           http://www.cnblogs.com/ldp615/archive/2011/08/16/asp-net-mvc-3-unity-dependency-resolver.html

          http://blog.csdn.net/aojiancc2/article/details/21557157

          http://blog.csdn.net/aojiancc2/article/details/21543219

       2:分层配置unity

            

          每一层都有单独unity的映射配置文件

          需要解决两个问题

          a:如何读取不同层的unity配置信息

              http://blog.csdn.net/aojiancc2/article/details/21618299

         b:将每层读取到的信息放入到unity里              

IUnityContainer container = new UnityContainer();  
  
            //Controller层unity配置文件  
            UnityConfigurationSection unityController = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");  
            //Service层unity配置文件  
            UnityConfigurationSection unityService = ConfigManager.GetSection<UnityConfigurationSection>("unity");  
  
            container.LoadConfiguration(unityController, "UnityController");  
            container.LoadConfiguration(unityService, "UnityService");  


三:常见问题

未能加载文件或程序集“Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

  这是由于版本不同,右键你的Microsoft.Practices.Unity看属性就知道了

  

   重新引用下就可以了





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值