Web API中DefaultControllerFactory的等价物是什么?
我们正在尝试用新的ASP.NET Web API替换以前的DefaultControllerFactory,以更好地处理REST / XML调用。 搜索Web始终指向实现System.Web.Http.Dependencies.IDependencyResolver
,然后处理GetService()
以及该接口所需的其他一些方法。
然而,它似乎是缓存ApiController实例和任何新的控制器,它似乎没有解决。 由于性能问题,很难在启动期间提供所有可能的ApiController实例。
DefaultControllerFactory
允许提供控制器实例并缓存“命中”条目,但是当一个instane无法延迟加载时抛出错误。
是否还需要实施其他过载/控制器工厂方法?
到目前为止搜索没有产生任何命中,但任何指针都会很棒。 感谢您的时间。
它是由 DefaultHttpControllerActivator
实现的IHttpControllerActivator
。
您可以使用以下方法替换它:
GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new MyOwnActivatior());
哎呀!
我的意思是IHttpControllerSelector
!
它是由DefaultHttpControllerSelector
实现的IHttpControllerSelector
。
您可以使用以下方法替换它:
GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector), new MyOwnActivatior());