Web-Api-Controller in andere Projekt, route-Attribut nicht funktioniert

Ich habe eine Projektmappe mit zwei Projekten. Eine Web-Api bootstap-Projekt und die andere ist eine Bibliothek-Klasse.

Die Bibliothek-Klasse enthält eine ApiController mit Attribut-routing.
Ich füge einen Verweis von web-api-Projekt der Klasse die Bibliothek und erwarten, dass dies nur funktionieren.

Routing in web api konfiguriert ist:

config.MapHttpAttributeRoutes();

Die Steuerung ist einfach und sieht wie folgt aus:

public class AlertApiController:ApiController
{
    [Route("alert")]
    [HttpGet]
    public HttpResponseMessage GetAlert()
    {
        return Request.CreateResponse<string>(HttpStatusCode.OK,  "alert");
    }
}

Aber ich bekomme ein 404, wenn man auf die url "/Alarm".

Was vermisse ich hier? Warum kann ich nicht mit diesem controller? Die Montage ist definitiv geladen, so dass ich glaube nicht, dass http://www.strathweb.com/2012/06/using-controllers-from-an-external-assembly-in-asp-net-web-api/ ist hier die Antwort.

Irgendwelche Ideen?

  • Sind Sie sicher, dass die assembly geladen wird, wenn die MapAttributeRoutes genannt wird? Versuchen Sie, die Berufung auf einige dummy-statische Methode, Montage rechts, bevor Sie die Zuordnung.
  • Immer noch nicht funktioniert, nicht durch die default-route noch Attribut-routing.
  • Haben Sie jemals zu verwalten, um dies herauszufinden? Ich habe das gleiche problem (mehrere Baugruppen - plugins, etc - und die [RoutePrefix] - Attribut wird ignoriert.. ich kann nur die Dienste über die Standard-route config.
InformationsquelleAutor user1613512 | 2014-03-18
Schreibe einen Kommentar