So führen Sie das debugging mit dem Web-Api
Ist es möglich, die Navigation zu einer URL, wo eine web-api vorhanden ist? Meine Bemühungen schlagen Nein, der gesunde Menschenverstand sagt, es sollte sein. So, ich denke ich habe einen Fehler wo anders.
Habe ich begonnen, VS 2015, hat ein neues Projekt - (ASP.NET) und wählte web-api. Ich habe meine api
public class DefaultController : ApiController
{
public void Index()
{
//logic with break points set
}
}
Ich habe auch einen 'normalen' MVC-controller und als solche, wenn ich das Projekt starten, mein browser zeigt mir die Index Datei in meinem Home-controller.
Nun will ich navigieren Sie zu der zugehörigen URL meiner web-api
Die URL habe ich für meine Home-controller (Index-Ansicht) ist
http://localhost:61895/
Daher meine api sein sollte (denke ich)
http://localhost:61895/api/default/
aber sehe ich Folgendes im browser
HTTP 404. Die gesuchte Ressource oder eine Ihrer Abhängigkeiten) wurde möglicherweise entfernt, hatte Ihren Namen geändert, oder ist vorübergehend nicht verfügbar. Bitte Lesen Sie den folgenden URL, und stellen Sie sicher, dass Sie korrekt geschrieben ist.
Und meine WebApiConfig ist
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//Web API configuration and services
//Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Bearbeiten
Ich habe auch versucht localhost:61895/api/Default/Index
aber das gleiche Problem
Wie debugge ich meine API in Visual Studio
- Ich denke, dass Sie suchen können, für localhost:61895/api/Default/Index als URL.
- Leider nicht @MartinNoreke 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Weg Web-Api funktioniert auf dem routing ist anders Mvc-Controller.
Es ist keine Aktion Teil in web-api.
Den http-Aktion haben mit dem Beginn der Aktion oder das Attribut. Zum Beispiel:
oder
Den die url wird
localhost:61895/api/Default
Es ist ein gutes Beispiel an asp.net:
http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
Bearbeiten
fügen Sie einige screen-shot.
Ich erstellen eine neue web-api-Projekt, und erstellen Sie neue controller Standard:
Dann meine url:
http://localhost:4349/api/default
wie Sie sehen ist der break-Punkt getroffen.
Als pro Diskussion in den Kommentaren war die Frage der Globalen.asax.cs-Datei
Die Reihenfolge ist wichtig, und muss in der folgenden Reihenfolge
GlobalConfiguration.Configure(WebApiConfig.Register);
sein, bevor
RouteConfig.RegisterRoutes(RouteTable.Routes);
localhost:61895/api/Default
- es hilft nichtSO How to trigger debugging with Web Api - soultion
. Ich entfernte alle die nuget-Pakets, aber Sie sollten in der Lage sein, um es zu bekommen, sobald Sie das Projekt erstellen. Führen Sie es einfach und setzen Sie einen Haltepunkt in der DefaultController/GetIndex-MethodeGlobalConfiguration.Configure(WebApiConfig.Register);
- und damit die Letzte Codezeile int eh Application_Start-Funktion und hoffentlich siehst du den Fehler. Können Sie aktualisieren Sie Ihren Beitrag mit Informationen, dann kann ich mark als beantwortet 😀