13

我们正在尝试用新的 ASP.NET Web API 替换以前的 DefaultControllerFactory,以更好地处理 REST/XML 调用。在网上搜索总是指向实现System.Web.Http.Dependencies.IDependencyResolver然后处理GetService()接口所需的以及其他一些方法。

然而,它似乎正在缓存 ApiController 实例和任何新的控制器,它似乎并没有解决。由于性能问题,在启动期间很难提供所有可能的 ApiController 实例。

DefaultControllerFactory允许提供控制器实例并缓存“命中”条目,但当无法延迟加载实例时会引发错误。

是否还有其他需要实现的重载/控制器工厂方法?

到目前为止,搜索没有产生任何命中,但任何指针都会很棒。感谢您的时间。

4

1 回答 1

10

IHttpControllerActivatorDefaultHttpControllerActivator.

您可以使用以下方法替换它:

GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), 
        new MyOwnActivatior());

哎呀!

我的意思是IHttpControllerSelector


IHttpControllerSelectorDefaultHttpControllerSelector.

您可以使用以下方法替换它:

GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector), 
        new MyOwnActivatior());
于 2012-08-09T15:19:46.480 回答