1.Nuget下载Castle.Winsor

2.自定义ControllerFacotry,继承 DefaultControllerFacotry

   (Controller Factory作用:1.根据不同请求路由到对应的Controller,并创建实例  2.controller使用完毕后释放资源)

   Castle Winsor在Asp.net MVC中应用

Castle Winsor在Asp.net MVC中应用

Castle Winsor在Asp.net MVC中应用

2.定义installer,继承IWindsorInstller,实现接口中Install方法,在其中注册我们需要的服务

Castle Winsor在Asp.net MVC中应用

3.在Application_Start中设置自定义controller factory,在controllerfactory构造中传入已注册完服务后的WindsorContainer,

FromAssembly.This()方法会扫描当前程序集中继承了IWinsorInstaller的类,并实例化,然后执行每个类下面的Installer()

Kernel:会暴露windsorContainer中所有实现的服务

Castle Winsor在Asp.net MVC中应用

4.以上,castle windsor配置结束,实际使用中只需要在调用方声明一个接口的属性,castle便可以自动注入并实例化

Castle Winsor在Asp.net MVC中应用

注:接口定义必须是public,声明接口属性时也必须是public

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-10-10
  • 2021-12-13
  • 2022-01-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
  • 2021-12-07
  • 2022-01-14
  • 2021-09-28
相关资源
相似解决方案