2011-09-07 6 views
5

En un proyecto .NET 4 MVC3 estoy ejecutando un equipo local en IIS6 (no preguntes por qué). Tiene una asignación de comodín adecuada en IIS a la v4 aspnet_isapi.dll, y lo mismo ocurre con la extensión .less.. Los archivos .less se sirven de forma estática en IIS6 + .NET 4 MVC3

Web.config tiene estos httfandlers IIS6 e IIS7 definidos.

<system.web> 
    <httpHandlers> 
    <add type="dotless.Core.LessCssHttpHandler,dotless.Core" validate="false" path="*.less" verb="*" /> 
    </httpHandlers> 
</system.web> 

<system.webServer> 
    <handlers> 
    <add name="less" type="dotless.Core.LessCssHttpHandler,dotless.Core" path="*.less" verb="*" /> 
    </handlers> 
</system.webServer> 

Navegar a /path/to/nonexisting.less genera un error propio que me muestra una StackTrace que el LessCssHttpHandler está en acción.

Navegando a /path/to/existingfileondisk.less solo descarga el archivo original menos como está. Para mí, parece que un controlador de archivos estáticos existente está en acción aquí, aunque no estoy seguro.

¿Qué me falta (aparte de la máquina nueva;))?

Respuesta

1

Le sugiero que ponga sus archivos .less dentro de una carpeta. Digamos que creó una carpeta llamada Less en la raíz. Has no añadir esta línea a global.asax para hacer que funcione:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("Less/{*path}"); 
    ... 
} 
2

También me encontré con este problema, y ​​la siguiente solución solucionado el problema:

Si está utilizando IIS 6 o anterior o Si no utiliza la canalización integrada de IIS, deberá configurar los parámetros de su servidor web para que las solicitudes de archivos .LESS se enruten al motor ASP.NET (para que puedan ser procesadas por .LESS HTTP Handler). Para más detalles leer How ASP.NET Web Pages are Processed on the Web Server

Pasos cómo configurar IIS 6:

  1. clic derecho sobre el Sitio Web - extensiones> Aplicación - -> Propiedades -> Directorio Inicio -> Configuración> Añadir ->:
    • ejecutable = ruta a la DLL asp.net (Fe c: \ windows \ microsoft.net \ Framework \ v4.0.30319 \ aspnet_isapi.dll)
    • Extention = .less
    • Deseleccionar “Compruebe que el archivo existe”
  2. Configurar Tipo Mime: Haga clic derecho en el Sitio Web -> Propiedades -> Cabeceras HTTP -> tipos MIME -> Nuevo -> Extensión = .less, tipo MIME = "texto/css"
Cuestiones relacionadas