Tengo una aplicación MVC.NET con una ruta de la siguiente manera:¿Cómo se permiten "caracteres ilegales en la ruta"?
routes.MapRoute("member", "member/{id}/{*name}", new { controller = "member", action = "Details", id = "" }, new { id = @"\d+" });
Por lo tanto, un enlace podría ser algo como esto: http://domain/member/123/any_kind_of_username
Esto funciona bien en general, pero si la ruta contiene ilegal caracteres (por ejemplo, un qoute doble: http://domain/member/123/my_ "user" _name) Obtengo una "System.ArgumentException: caracteres ilegales en la ruta".
Después de mucho Google las mejores sugerencias parecen ser para asegurarse de que la url no contenga tales caracteres. Desafortunadamente, eso está fuera de mi control en este caso.
¿Hay alguna forma de evitar esto?
presumiblemente se llaman caracteres ilegales porque no puede usarlos ... –
¿No pueden estos ser URL codificados? – Oded
@Mitch - Bueno, una comilla doble, por ejemplo, funciona bien para Apache, así que no puedo ver por qué IIS no lo permitiría. @Oded - El problema es que no tengo el control de estas URL. – hbruce