С таким URL-адресом, как http://abc.com/myid/ab%2fcd (где% 2f - экранированная косая черта), asp.net будет удалять% 2f так, что с точки зрения моего приложения (и с точки зрения asp.net mvc) URL-адрес будет : http://abc.com/myid/ab/cd
Поскольку мое приложение использует asp.net mvc, это поведение может легко вызвать проблемы с маршрутизацией, если я хочу, чтобы маршрут указывал что-то вроде "/ myid / {id}", так как удаление из asp.net приведет к тому, что этот маршрут не будет совпадать .
В соответствии с ответом на этот вопрос: косая черта в URL-адресе и в соответствии с этой страницей msdn: http://msdn.microsoft.com/en-us/library/ee656542.aspx решение (в .Net 4.0) заключается в следующем ваш web.config:
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
Но я не могу заставить его работать - "% 2f" по-прежнему автоматически выводится в "/". Кто-нибудь знает, почему настройка конфигурации может не работать для меня, или есть другие предложения?