当可以通过重写DefaultControllerFactory的CreateController方法自定义创建(并使用DI解析)控制器时,IControllerActivator.Create(MVC4中的新增功能)还有什么其他优点?
最佳答案
控制器激活逻辑已从默认控制器工厂中撤出,并放入了控制器激活器中。因此,这样做的目的是使其更具灵活性并遵循单一的责任模式。现在,根据您使用的MVC版本,它会使用控制器激活器来创建控制器。两项工作是携手完成的。因此,您可以自定义任何一个,并且其功能类似。我看不出有一个相对于另一个优势。
请参见Brad Wilson's blog post about this。
关于asp.net-mvc - IControllerActivator优于DefaultControllerFactory.CreateController的优势,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10162172/