我已经在一个MVC网站的一个区域中设置了web API。我遵循了this post,它设置了一个定制的DefaultHttpControllerSelector实例来提供相关类型。然而,我有一个问题,在这个区域中找到的控制器需要动态构造。我为MVC站点创建的自定义控制器激活器似乎没有用于Web API。我可以使用什么对象来设置它?
发布于 2012-10-23 10:24:22
您可以通过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
https://stackoverflow.com/questions/13022511
复制相似问题