Howto permettre de “caractères Illégaux dans le chemin d'accès”?

J'ai un MVC.NET avec un parcours comme suit:

routes.MapRoute("member", "member/{id}/{*name}", new { controller = "member", action = "Details", id = "" }, new { id = @"\d+" });

Ainsi, un lien pourrait être quelque chose comme ceci: http://domain/member/123/any_kind_of_username

Cela fonctionne bien en général, mais si le chemin d'accès contient des caractères illégaux (par exemple, un double qoute: http://domain/member/123/my_"utilisateur"_name), je reçois un "Système.ArgumentException: caractères Illégaux dans le chemin."

Après beaucoup de googler les meilleures suggestions semble être à assurez-vous que l'url ne contient pas ces caractères. Malheureusement, cela est hors de mon contrôle dans ce cas.

Est-il un moyen de contourner cela?

sans doute qu'ils sont appelés des caractères illégaux parce que vous ne pouvez pas les utiliser...
Peuvent pas être codées dans l'URL?
Eh bien, une double citation, par exemple, fonctionne très bien pour Apache donc je ne vois pas pourquoi IIS ne le permettrait pas. @Oded - Le problème est que je ne suis pas dans le contrôle de ces url.

OriginalL'auteur hbruce | 2010-01-18