ApiController
在上節(jié)中,講到如何選擇并激活對(duì)應(yīng)的IHttpController,而一般我們?cè)陂_發(fā)中使用的是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中,我們看到通過內(nèi)置的DI容器選擇出對(duì)應(yīng)的HttpActionDescriptor.本節(jié)重點(diǎn)內(nèi)容就是介紹SelectAction方法.