As etapas que eu precisava executar foram:
- Adicione referência a
System.Web.Http.WebHost
.
- Adicione
App_Start\WebApiConfig.cs
(veja o trecho de código abaixo).
- Importar espaço
System.Web.Http
para nome em Global.asax.cs
.
- Chamada
WebApiConfig.Register(GlobalConfiguration.Configuration)
em MvcApplication.Application_Start()
(em arquivo Global.asax.cs
), antes de registrar a rota Aplicação Web padrão como que de outra forma têm precedência.
- Adicione um controlador derivado de
System.Web.Http.ApiController
.
Eu poderia aprender o suficiente com o tutorial (Sua primeira API da Web do ASP.NET) para definir meu controlador de API.
App_Start \ WebApiConfig.cs:
using System.Web.Http;
class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
}
}
Global.asax.cs:
using System.Web.Http;
...
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
WebApiConfig.Register(GlobalConfiguration.Configuration);
RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Atualização 10.16.2015:
Como diz o Word, o pacote NuGet Microsoft.AspNet.WebApi deve estar instalado para que o procedimento acima funcione.
System.Net.Http
também, mas, além disso, funcionou como um encanto!