Jak zezwolić na „nielegalne znaki na ścieżce”?

Mam aplikację MVC.NET z jedną trasą w następujący sposób:

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

Tak więc linkiem może być coś takiego:http: // domena / członek / 123 / any_kind_of_username

Działa to ogólnie dobrze, ale jeśli ścieżka zawiera niedozwolone znaki (np. Podwójna kolejka:http: // domena / członek / 123 / mój_„użytkownik” _name) Otrzymuję „System.ArgumentException: Nielegalne znaki w ścieżce”.

Po wielu hasogach najlepsze sugestie wydają się mieć pewność, że adres URL nie zawiera żadnych takich znaków. Niestety, w tym przypadku jest to poza moją kontrolą.

Czy istnieje sposób na obejście tego problemu?

questionAnswers(4)

yourAnswerToTheQuestion