Administro un sitio asp.net grande que se ha convertido previamente del sitio html estático a asp.net.¿Puedo servir archivos .html usando Razor como si fueran archivos .cshtml sin cambiar la extensión de todas mis páginas?
Por varias razones (principalmente SEO) decidimos no cambiar el nombre de todos los archivos a .aspx cuando originalmente convertimos el sitio. Esto fue muy fácil de hacer con solo agregar buildProvider y httpHandler a web.config.
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
<httpHandlers>
<add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
Ahora Estoy actualizando el sitio para utilizar páginas web ASP.NET con archivos de afeitar cshtml. Puedo cambiar el nombre de todos los archivos si es necesario y usar la reescritura de url para que las URL permanezcan iguales, sin embargo, sería mucho más fácil si pudiera configurar el archivo web.config para que analice los archivos .html como si fueran .cshtml .
He buscado bastante y no he encontrado nada equivalente a PageHandlerFactory para las páginas de afeitar. Parece como si fuera solo un mecanismo interno en el controlador .NET 4.0 ISAPI.
El sitio se está ejecutando actualmente en el servidor Windows 2003 e IIS 6. Actualizaremos a 2008/IIS 7.5 en un futuro próximo, pero preferiría no esperar por eso.
¿Hay alguna forma de obtener los archivos .html analizados por la máquina de afeitar como si fueran archivos .cshtml?
Estoy devolviendo un archivo css en lugar de un archivo cshtml. ¿Es válido este método para MVC3? En caso afirmativo, ¿cuál web.config? la carpeta raíz o en la carpeta Vistas? Y dónde exactamente en el web.config. Intenté hacer esto pero no agregó la extensión a la lista de idiomas. ¿Alguna idea? – Idrees
@Idiomas: Sí. La raíz Web.config. lista de idiomas? – SLaks
@SLaks el líder del equipo dejó caer la idea. Así que COOL: D – Idrees