Подстановочный знак HttpHandler не обрабатывает статические файлы - PullRequest
6 голосов
/ 27 января 2010

Я просмотрел некоторые старые вопросы, но ничего не могу найти.

В моем веб-приложении есть подстановочный знак HttpHandler, который обрабатывает URL-адрес и определяет, можно ли с ним что-либо сделать

Если это невозможно, обработчик StaticFile должен взять его и просто использовать как статический файл (например, html-файл).

Проблема в том, что он проходит через обработчик Wildcard, а затем, по-видимому, не идет к StaticFileHander. Что-то, что мне нужно сделать с обработчиком Wildcard, или в веб-конфигурации?

Это мой 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" />

Ответы [ 3 ]

3 голосов
/ 27 января 2010

Чтобы узнать, что сказал Хантер, да, возможно, добавьте эту запись в свой Web.Config после первого сопоставления с подстановочными знаками:

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

Просто мысль. Не проверял это или что-то еще.

3 голосов
/ 27 января 2010

Возможно, ваш HttpHandler должен явно передать запрос StaticFileHandler.

2 голосов
/ 28 января 2010

Проверьте режим конвейера пула приложений. Если это Classic, то вам нужно настроить обработчики в разделе <httpHandlers>. Если он интегрирован, вы должны использовать раздел <handlers> в web.config.

...