ApiController
在上节中,讲到如何选择并激活对应的IHttpController,而一般我们在开发中使用的是ApiController
public abstract class ApiController : IHttpController, IDisposable{ public virtual Task<HttpResponseMessage> ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken) { this.Initialize(controllerContext);
HttpActionDescriptor actionDescriptor = services.GetActionSelector().SelectAction(controllerContext);
HttpActionContext actionContext = new HttpActionContext(controllerContext,actionDescriptor); return services.GetActionInvoker().InvokeActionAsync(actionContext, cancellationToken);
}
}在ApiController中,我们看到通过内置的DI容器选择出对应的HttpActionDescriptor.本节重点内容就是介绍SelectAction方法.

