В нашем приложении ASP.NET MVC мы заметили, что у нас не может быть Запрещенных имен файлов DOS сCOM1 по COM9, с LPT1 по LPT9, CON, AUX, PRN и NUL где-либо на наших маршрутах. Они неизбежно приводят к тому, что IIS сообщает нам, что файл не может быть найден, даже если мы настроили маршрутизацию, чтобы сначала не проверять наличие файлов. Как мы можем это обойти?
Маршрутизация ASP.NET MVC и зарезервированные имена файлов в Windows
Ответы (4)
Это было решено в ASP.NET 4. http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx
Вы можете применить параметр в web.config, который снимает это ограничение.
<configuration>
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
<!-- ... your other settings ... -->
</system.web>
</configuration>
Надеюсь, это поможет.
Задав вопрос, я обнаружил, что ошибка связана с собственно ASP.NET, а не с IIS или ASP.NET MVC, а это означает, что ее невозможно обойти. Единственное решение - вручную запретить URL-адреса, соответствующие этим именам и этим именам, за которыми следует точка и случайные символы.
По той же причине в StackOverflow не может быть тега web.config.
http://stackoverflow.uservoice.com/pages/1722-general/suggestions/98871-web-config-tag-404-error
по другой аналогичной причине у вас не может быть URL-адресов с точкой и косой чертой Семантические URL-адреса с точками в .net