Chevrons dans les URL de routage avec WebForms 3.5
-
06-07-2019 - |
Question
Je viens de mettre à niveau mon ancien système d'URL à base de mappage générique pour pouvoir utiliser System.Web.Routing
. Auparavant, je pouvais demander l'URL /Service/GetItems<My.Full.Item.Type>
, qui était analysée de l'autre côté et renvoyait exactement ce à quoi vous vous attendiez. C'était chouette.
Maintenant avec Routing on, toute requête avec un < ou > il me renvoie le contenu de '/'
à la place de la page que je voulais. Même si je les code en% 3C et% 3E, je suis redirigé vers la racine, quel que soit le contenu de l'URL.
J'aimerais bien que mon application ne soit pas obligée de modifier toutes les occurrences de références génériques intuitives à la solution de fortune que j'ai proposée: /Service/GetItems/T=My.Full.Item.Type
. Pas aussi bien, non plus.
Merci à tous!
La solution
On dirait que vous rencontrez le problème des caractères restreints avec les URL. Notez que cela n’a rien à voir avec Routing mais avec ASP.NET qui bloque certains caractères de l’URL.
Pourquoi cela fonctionnait-il auparavant avec la réécriture d'URL? Probablement parce que l'URL a été réécrite pour que ces caractères figurent dans la chaîne de requête avant son transfert à ASP.NET.
Vous pouvez essayer certaines choses.
Un paramètre de registre autorise les caractères restreints http://support.microsoft.com/kb/820129.
Voici un autre article de support lié: http: // support.microsoft.com/default.aspx?scid=kb;EN-US;826437
Dans ASP.NET 4, nous prévoyons de simplifier considérablement sa configuration.