En nuestra aplicación ASP.NET MVC, nos hemos dado cuenta de que no podemos tener lo prohibido nombres de archivo de DOS — COM1
través COM9
, LPT1
través LPT9
, CON
, AUX
, PRN
, y NUL
— en cualquier 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?ASP.NET MVC enrutamiento vs Reservados nombres de archivo en Windows
Respuesta
Esto se ha abordado en ASP.NET 4. http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx
se 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.
Gracias Phil! Me pregunto por qué no es el valor predeterminado en .net 4. – bkaid
@thekaid: compatibilidad con versiones anteriores: MS no puede estar seguro de que nadie depende del comportamiento anterior. – Richard
@thekaido Lo que Richard dijo es exactamente correcto. Te sorprenderían los tipos de errores en los que las personas comienzan a confiar. – Haacked
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.
Sí. :) El equipo de ASP.NET es consciente de este error y lo está buscando para ASP.NET 4. No se puede garantizar si se solucionará, pero al menos hay interés en mejorarlo para los desarrolladores. – Levi
Por una razón similar, no puede haber una etiqueta web.config
en StackOverflow.
http://stackoverflow.uservoice.com/pages/1722-general/suggestions/98871-web-config-tag-404-error
por otra razón similar usted no puede tener las URL con un punto y una raya vertical Semantic urls with dots in .net
- 1. ASP.NET MVC JavaScript enrutamiento
- 2. ASP.NET MVC Enrutamiento Pregunta
- 3. ¿Qué son los nombres de archivo reservados para varias plataformas?
- 4. Enrutamiento MVC - Pregunta de nombres de parámetros
- 5. asp.net mvc URLs multilenguaje/enrutamiento
- 6. página ASP.NET MVC/subpágina enrutamiento
- 7. Enrutamiento ASP.NET MVC y áreas
- 8. ASP.NET MVC enrutamiento dos GUID
- 9. Enrutamiento ASP.NET MVC: ruta "en blanco"
- 10. Descripción del enrutamiento en Global.asax (asp.net-mvc)
- 11. asp.net mvc parámetro de identificación de enrutamiento
- 12. enrutamiento personalizado de ASP.NET MVC para búsqueda
- 13. Rendimiento del enrutamiento MVC de ASP.NET
- 14. Asp.Net MVC vs Castle MonoRail
- 15. enrutamiento enlaces legacy asp.net en un proyecto asp.net mvc
- 16. MVC enrutamiento de restricciones en el controlador Nombres
- 17. ASP.NET MVC enrutamiento/SEO Friendly URL
- 18. Enrutamiento con múltiples parámetros usando ASP.NET MVC
- 19. TinyURL como el enrutamiento con ASP.NET MVC?
- 20. Enrutamiento de archivos estáticos en ASP.NET MVC 3 como robots.txt
- 21. ASP.NET MVC vs Spring MVC
- 22. ASP.NET MVC vs. ASP.NET 4.0
- 23. Enrutamiento ASP.NET en IIS 6
- 24. ASP.NET MVP vs ASP.NET MVC
- 25. ASP.Net MVC vs ASP.Net Formularios
- 26. ASP.NET MVC vs XSL
- 27. ASP.NET AJAX vs jQuery en ASP.NET MVC
- 28. ASP.NET MVC Archivos nombres subrayado
- 29. Parámetro de enrutamiento opcional con restricción en ASP.NET MVC 2?
- 30. ASP.NET WebForms Dominio de enrutamiento
Para divertirse, pulse http://stackoverflow.com/com1 y compare con http://stackoverflow.com/ThisDoesNotExist – kamens
curiosamente, stackoverflow.com/clock$ funciona bien, aunque CLOCK $ es un nombre de archivo de dispositivo reservado como bien. –
Y aprovechando este conocimiento, ahora he logrado que sea imposible navegar a mi página de usuario. Woot. –