0

我已经在 MVC 网站的某个区域设置了 Web API。我关注了这篇文章,它设置了一个自定义 DefaultHttpControllerSelector 实例来提供相关类型。但是,我有一个问题,即在该区域中找到的控制器需要动态构建。我为 MVC 站点创建的自定义控制器激活器似乎没有用于 Web API。我可以使用什么对象来设置它?

4

1 回答 1

1

您可以通过IHttpControllerActivator

public interface IHttpControllerActivator
{
    IHttpController Create(
        HttpRequestMessage request,
        HttpControllerDescriptor controllerDescriptor,
        Type controllerType);
}

Mark Seemann 有几篇关于使用此接口在 Web API 中进行 DI 的精彩文章:

http://blog.ploeh.dk/2012/09/28/DependencyInjectionAndLifetimeManagementWithASPNETWebAPI.aspx http://blog.ploeh.dk/2012/10/03/DependencyInjectionInASPNETWebAPIWithCastleWindsor.aspx

于 2012-10-23T02:24:21.980 回答