ApiController

在上節(jié)中,講到如何選擇并激活對應的IHttpController,而一般我們在開發(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中,我們看到通過內置的DI容器選擇出對應的HttpActionDescriptor.本節(jié)重點內容就是介紹SelectAction方法.

HttpActionDescriptor

網友評論