Castle Winsor在Asp.net MVC中应用

1.Nuget下载Castle.Winsor

2.自定义ControllerFacotry,继承 DefaultControllerFacotry

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

   

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_40719943/article/details/106140821