2010-01-26 19 views
6

He echado un vistazo a algunas de las preguntas anteriores, pero no puedo encontrar nada.Comodín HttpHandler no maneja archivos estáticos

Tengo un Comodín HttpHandler en mi aplicación web que está procesando la url y la elaboración de si se puede hacer nada con ella

Si no puede, entonces el StaticFile Handler debe recogerlo y simplemente servirla como un archivo estático (como un archivo html).

El problema es que está pasando por el controlador Comodín, y luego aparentemente no va al StaticFileHander. ¿Hay algo que deba hacer con el controlador de Comodines o en la configuración web?

Esta es mi web.config:

<add name="Wildcard" path="*" verb="*" type="Rewriter.RewriterHttpModule" 
modules="IsapiModule" requireAccess="None" allowPathInfo="false" 
preCondition="" responseBufferLimit="4194304" /> 

<add name="StaticFile" path="*.*" verb="*" 
modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" 
resourceType="File" requireAccess="Read" allowPathInfo="false" preCondition="" 
responseBufferLimit="4194304" /> 
+1

Cuéntenos sobre su configuración de IIS. Su web.config no tendrá importancia si IIS no está entregando la solicitud a ASP.NET. – Bryan

+0

No he cambiado nada particularmente en IIS7, es lo que sea que sea la configuración * estándar *. Se está ejecutando en el grupo de aplicaciones predeterminado, aunque – Paul

Respuesta

3

Tal vez su HttpHandler debe pasar la solicitud a la StaticFileHandler explícitamente.

+0

Sí, eso es lo que pensé, pero ¿cómo se hace esto? StaticFileHandler es una clase interna, por lo que no puedo usarlo al final del controlador, y no puede agregarlo en el archivo web.config, ya que, si lo recupera ReWriteHandler, no cambiará a el siguiente ... – Paul

+0

Intenta dar una ruta al controlador estático y solo redirigirlo() desde RewriteHandler – hunter

3

Para dar seguimiento a lo que dijo Hunter, sí, tal vez añadir esta entrada a su Web.Config después de la primera asignación de comodín:

<add verb="*" path="*" type="System.Web.StaticFileHandler" /> 

Es sólo una idea. No he probado esto ni nada.

2

Compruebe el modo de canalización de grupo de aplicaciones. Si es Clásico, debe configurar sus controladores en la sección <httpHandlers>. Si está integrado, debe usar la sección <handlers> en web.config.

Cuestiones relacionadas