tag - Enrutamiento ASP.NET MVC vs. nombres de archivo reservados en Windows
tag helpers asp net core 2 (4)
En nuestra aplicación ASP.NET MVC, hemos notado que no podemos tener los nombres de archivo DOS prohibidos: COM1
a COM9
, LPT1
a LPT9
, CON
, AUX
, PRN
y NUL
en ninguna parte de nuestras rutas. Inevitablemente, IIS nos dice que no se puede encontrar el archivo, incluso cuando configuramos el enrutamiento para no verificar primero la existencia de archivos. ¿Cómo podemos solucionar esto?
Desde que hice la pregunta, descubrí que el error está en ASP.NET propiamente dicho, no en IIS o ASP.NET MVC, lo que significa que no hay forma de evitarlo. La única solución es prohibir manualmente las URL que coincidan con estos nombres y estos nombres, seguidos de un punto y caracteres aleatorios.
Esto se ha abordado en ASP.NET 4. http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx
Puede aplicar una configuración en web.config que relaja esta restricción.
<configuration>
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
<!-- ... your other settings ... -->
</system.web>
</configuration>
Espero que ayude.
Por una razón similar, no puede haber una etiqueta web.config
en .
http://.uservoice.com/pages/1722-general/suggestions/98871-web-config-tag-404-error
por otra razón similar, no puedes tener urls con un punto y una barra URL semánticas con puntos en .net