ASP.NET MVC, Debugging von URL-Routings

Zurzeit arbeite ich einiges mit ASP.NET MVC 4 und erfahre dadurch die Höhen und Tiefen des URL-Routings über MapRoute-Aufrufe.

Dabei bin ich auf ein inzwischen auch schon einige Jahre altes kleines Tool gestoßen, dass mir hervorragend hilft, URL-Routing-Tabellen zu debuggen:

ASP.NET Routing Debugger

Das Tool, auch als NuGet-Paket „routedebugger“ verfügbar, schreibt auf jede Seite in die Fußzeile, welche Routings es gibt und welches zutreffend für den Aufruf der Seite war.

Anders als im Artikel beschrieben, muss mit dem NuGet-Paket nichts mehr manuell konfiguriert werden, es ist alles automatisch konfiguriert, sobald Ihr das Paket installiert habt.

Steuern könnt Ihr die Ausgabe in der Fußzeile über einen appSettings-Schalter in der Web.Config-Datei:

Super gemacht und super einfach in der Anwendung.

Was mir jetzt noch fehlt, ist ein Debugger, der mir sagt, welche Route verwendet wird, beim Generieren von Links über (z.B.) @Url.Action oder @Html.ActionLink. Wobei es dort ja noch die expliziten Funktionen wie z.B. @Url.RouteUrl gibt, um gezielt eine Route für die Link-Generierung anzusprechen.

URLs mit zwei Slashes am Anfang („//“)

Wieder was gelernt heute:

Eine URL in einem HTML-Quelltext die mit zwei Slashes („//“) beginnt ist eine valide (relative) URL.

Z.B. würde ein Hyperlink mit einer URL „//zeta-software.de“ als „http://www.zeta-software.de“ interpretiert werden wenn er auf einer Seite steht die via HTTP aufgerufen wird, und als „https://www.zeta-software.de“ wenn die enthaltende Seite via HTTPS/SSL aufgerufen wird.

Quasi also eine URL die sich das Protokoll spart und immer das Protokoll der enthaltenden Seite verwendet.

Quelle