Разрешить CON, зарезервированные ключевые слова в URL - PullRequest
5 голосов
/ 24 ноября 2010

Мне нужно разрешить URL-адреса, в которых есть зарезервированные ключевые слова, такие как CON, AUX, NUL и т. Д. В именах URL-адресов, например: .... / CON /...

Сейчас я получаю сообщение об ошибке 404 иследующее исключение, когда я пытаюсь перейти на такой URL:

[HttpException]
   at System.Web.CachedPathData.GetConfigPathData(String configPath)
   at System.Web.HttpContext.GetFilePathData()

Это было исправлено для .Net 4 в соответствии с другими постами на этом сайте Семантические URL с точками в .net Однако я не могу перейти на .Net4 из-за других зависимостей, поэтому мне нужен альтернативный способ сделать это.

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

Согласно ответу Microsoft на это на форумах Connect и MSDN, в asp.net нет другого решения, кроме обновления до 4.0.Вы можете попробовать переписать URL-адрес IIS, но на самом деле вы не можете добавить COM1 (или что-то еще) в свои маршруты.

(См. Также: http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx)

2 голосов
/ 20 мая 2014

ASP.NET 4 исправляет эту проблему с помощью новой настройки.В файле web.config просто добавьте <httpRuntime relaxedUrlToFileSystemMapping="true"/> к узлу system.web.Вот фрагмент из моего web.config.

<configuration>
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
<!-- ... your other settings ... -->
</system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...