Chevrons in Routing URLs mit WebForms 3.5
-
06-07-2019 - |
Frage
Ich habe gerade mein altes Wildcard-Mapping basiertes URL-System aufgerüstet System.Web.Routing
zu verwenden. Vorher konnte ich die URL /Service/GetItems<My.Full.Item.Type>
beantragen, die auf der anderen Seite analysiert wurde und wieder genau das, was man erwarten würde. Das war ordentlich.
Jetzt mit Routing auf jede Anfrage mit einem '/'
zurück, anstatt die Seite, die ich wollte. Auch wenn ich dieses% 3C und 3E% kodieren ich an die Wurzel weitergeleitet, unabhängig davon, was der Rest der URL sagt.
Ich würde es gerne, wenn ich nicht durch meine Anwendung gehen, hatte alle Instanzen intuitive allgemeine Verweise auf die Notlösung zu ändern Ich habe kommen mit: /Service/GetItems/T=My.Full.Item.Type
. Nicht so schön, auch nicht.
Danke allen!
Lösung
Es sieht aus wie Sie in den geschützten Zeichen Problem mit URLs ausgeführt wird. Beachten Sie, dass dies nichts mit Routing zu tun hat, sondern mit ASP.NET blockiert bestimmte Zeichen in der URL.
Warum arbeiten sie, bevor sie mit URL-Rewriting? Wahrscheinlich, weil die URL diese Zeichen in dem Query-String zu haben, wurde neu geschrieben, bevor es zu ASP.NET übergeben.
Es gibt einige Dinge, die Sie ausprobieren können.
Es gibt eine Registrierungseinstellung eingeschränkte Zeichen zu ermöglichen http://support.microsoft.com/kb/820129
Hier ist ein weiterer Support-Artikel das ist bezogen werden: http: // support.microsoft.com/default.aspx?scid=kb;EN-US;826437
In ASP.NET 4, planen wir diese viel leichter zu konfigurieren.