Die Schritte, die ich ausführen musste, waren:
- Verweis auf
System.Web.Http.WebHost
hinzufügen.
App_Start\WebApiConfig.cs
hinzufügen (siehe Code-Schnipsel unten).
- Namespace
System.Web.Http
in Global.asax.cs
importieren.
WebApiConfig.Register(GlobalConfiguration.Configuration)
in MvcApplication.Application_Start()
aufrufen (in der Datei Global.asax.cs
), bevor der Standard-Webanwendungsroute registriert wird, da dieser sonst Vorrang hätte.
- Ein Controller hinzufügen, der von
System.Web.Http.ApiController
abgeleitet ist.
Daraufhin konnte ich aus dem Tutorial (Your First ASP.NET Web API) genug lernen, um meinen API-Controller zu definieren.
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);
}
Update 16.10.2015:
Es wird gemunkelt, dass das NuGet-Paket Microsoft.AspNet.WebApi installiert sein muss, damit das oben genannte funktioniert.