text: asp.net-web-api — das asp.net webapi 2-Attribut-Routing funktioniert nicht
  /das asp.net webapi 2-Attribut-Routing funktioniert nicht
  das asp.net webapi 2-Attribut-Routing funktioniert nicht
  Ich habe mit mvc4 Visual Studio 2012 mit .net Framework 4.5 installiert. Jetzt möchte ich webapi2 mit Attributschreiben verwenden und ich möchte, dass meine hlep-Seite alle Endpunkte richtig anzeigt.
  In meiner Lösung habe ich ein neues mvc4-basiertes emtpy-Projekt hinzugefügt und mit nuget ein Upgrade auf mvc5 durchgeführt und anschließend webapi2-Pakete installiert. Zuletzt habe ich das Hilfepaket für webapi2 installiert.
  wenn ich jetzt routeprefix verwende, kann ich keinen Inhalt auf der Hilfeseite sehen und wenn ich versuche, auf meinen webapi-Endpunkt in Browsern zuzugreifen, wird folgender Fehler ausgegeben.
  http://expressiis.com/api/v1/
  No HTTP resource was found that matches the request URI 'http://expressiis.com/api/v1/'.
  No type was found that matches the controller named 'v1'.
  return new string[] { "value1", "value2" }.AsQueryable();
  11.11.2013 najam
  Basierend auf Ihren Informationen sieht es so aus, als würden Sie nicht die httpConfig.MapHttpAttributeRoutes() anrufen (stellen Sie sicher, dass Sie diese vor herkömmlichen Routing-Registrierungen aufrufen)
  Da Sie MapHttpAttributeRoutes nicht aufgerufen haben, scheint Ihre Anfrage einer herkömmlichen Route zu entsprechen, z. B. api/{controller}. Dies funktioniert nicht, da für Routen, die mit herkömmlichen Routen übereinstimmen, niemals Controller/Aktionen mit Attributrouten angezeigt werden.
  11.11.2013 Kiran Challa
  Ein Problem, auf das ich gestoßen bin, war mit der Bestellung in Application_Start () verbunden. Beachten Sie die Reihenfolge der Web-API-Konfiguration unten:
  09.04.2014 Josh C
  Ich hatte auch dieses Problem und nach einer langen Suche wurde mir klar, dass ich System.Web.Mvc.RouteAttribute anstelle von System.Web.Http.RouteAttribute.__ verwendete. Nachdem ich dies korrigiert hatte und config.MapHttpAttributeRoutes() everything worked fine. verwendete
  21.12.2016 FrenchKevin777
  Dies war nicht Ihr Fall (wie aus Ihrem Beispielcode hervorgeht). Denken Sie jedoch daran, den Namen der Controller-Klasse mit Controller zu beenden.
  Sonst wird es nicht von config.MapHttpAttributeRoutes(); abgeholt.
  30.06.2016 user3638471
  Diese Frage hat bereits eine ausgewählte Antwort. Ich hatte jedoch eine andere Lösung für mich und denke, es wäre hilfreich zu antworten, wenn die ausgewählte Antwort nicht hilft.
  Für mich war das ein dummer Fehler. Ich hatte zwei Controller, aber nur einer funktionierte. Die Lösung war, dass meine Controller-Klasse falsch benannt wurde!
  Mein arbeitender Controller-
  public class FooController : ApiController { }
  Mein nicht funktionierender Controller-
  public class BarControllers : ApiController { }
  Stellen Sie sicher, dass Ihre Controller-Klasse mit Controller endet. Der nachfolgende s hat mich erwischt!
  18.02.2017 micah
  In meinem Fall erstellt VS meinen Controller mit dem Namen
  TestController1
  Ich weiß nicht, warum er diese Zahl "eins" am Ende des Namens gesetzt hat, aber entferne und werde funktionieren.
  02.04.2017 Paulo
  Stellen Sie sicher, dass Sie nicht zwei Controller mit demselben Namen haben! Ich habe einige Controller von einer Assembly verschoben, die ich in die Website geworfen hatte ... während die Website keine Verweise auf die alte Assembly hatte, die andere Assemblys verwendeten, was bedeutete, dass sie in den WebSite-Ordner "Bin" kopiert wurde. Der Routenerkennungsprozess schien dann lautlos zu scheitern, als er auf zwei Vorkommen des gleichen Controllers stieß!