ASP.NET MVC 3引入了DependencyResolver,我看到很多文章有多酷.但是等等......与ControllerFactory方法相比有什么不同?对我来说看起来很相似.
ServiceLocator被设计为一个抽象层,允许您实现自己的ServiceLocator适配器,该适配器确定如何在应用程序中解析服务.一个这样的例子是Windsor服务定位器适配器.
根据Brad Wilson的说法,服务定位器能够解析在服务定位器中注册的控制器:
这是MVC 3的新功能.MVC框架(特别是DefaultControllerFactory类)已更新,尝试使用已注册的服务定位器创建所有控制器实例.
服务定位器也可以在整个框架中使用,以解决ASP.NET MVC框架使用的许多其他依赖项,如ActionFilters,ResultHandlers甚至ViewEngines所需的依赖项.
如果您使控制器的所有实例都可用,对于标准应用程序,您不太可能需要自定义控制器工厂.
但是,如果您需要在控制器实例化之前,期间或之后执行某些特定操作,则可以使用controllerfactory在返回以供框架的其余部分使用之前处理这些特定实现.
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |