Así que tienen una ruta como esta en mi aplicación MVC 3 se ejecuta en IIS 7:MVC enrutamiento cuando un archivo que realmente existe en la ubicación especificada
routes.MapRoute(
"VirtualTourConfig",
"virtualtour/config.xml",
new { controller = "VirtualTour", action = "Config" }
);
El truco es que realmente existe un archivo en/VirtualTour/config.xml. Parece que la solicitud simplemente devuelve el archivo xml en esa ubicación en lugar de presionar la ruta, que procesa el XML, realiza algunos cambios y devuelve un XmlResult personalizado.
¿Alguna sugerencia sobre cómo puedo decirle a mi aplicación que llegue a la ruta y no al archivo real en caso de que el archivo exista en el disco?
EDIT: Parece que puedo usar en el método routes.RouteExistingFiles = true;
RegisterRoutes de Global.asax para decirle a la aplicación de ignorar archivos en el disco. Esto, sin embargo, establece el indicador globalmente y rompe muchas otras solicitudes dentro de la aplicación. Por ejemplo, todavía quiero que las llamadas a /assets/css/site.css devuelvan el archivo CSS sin tener que establecer rutas específicamente para cada activo estático. Entonces, ahora surge la pregunta: ¿hay alguna manera de hacerlo por ruta?
No creo que hay una manera fácil de lograr esto. ¿Por qué no simplemente mueve el archivo estático a la carpeta '~/App_Data'? –