2011-01-11 1 views
0

У меня есть приложение asp.net под IIS7 в классическом режиме. Я уже создал отображение сценария для «*» с модулем ISAPI, но когда я выполнить текстовый запрос (даже если он не существует), я получаю сообщение об ошибке 404 с:Как обрабатывать запросы * .txt в ASP.NET

Уведомление MapRequestHandler

Handler StaticFile

, и в Global.asax или модулях не производится никаких событий. Я что-то пропустил?

<system.web> 
... 
<httpHandlers> 
    <add verb="*" path="*" validate="false" type="TestCustomExtensions.TextFileHandler, TestCustomExtensions" /> 
</httpHandlers> 
<httpModules> 
    <add name="text" type="TestCustomExtensions.TextModule"/> 
</httpModules> 
</system.web> 

<system.webServer> 
... 
<modules> 
    <add name="textModule" type="TestCustomExtensions.TextModule"/> 
</modules> 
<handlers> 
    <add name="TextFiles" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
</handlers> 
,</system.webServer> 
+0

ли вы зарегистрировать обработчик в ИСИ в разделе отображения обработчика –

+0

Конечно, как вы видите – Madman

ответ

0

Решено!

Проблема была в моей ОС. У меня установлено 64x окна, но в файле конфигурации я установил 32x путь к dll ISAPI. Итак, чтобы решить эту проблему, я добавил две строки для обработки 32x и 64x ОС.

<add name="TestFiles64" path="*.txt" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> 
<add name="TextFiles32" path="*.txt" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
1

Вы, вероятно, необходимо удалить StaticFile обработчик:

<handlers> 
    <remove name="StaticFile" /> 
</handlers> 

UPDATE

Попробуйте следующее (порядок обработчиков HTTP является важным):

<handlers> 
    <remove name="StaticFile" /> 

    <add name="TextFiles" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 
    resourceType="Either" requireAccess="Read" /> 
</handlers> 
+0

но StaticFileModule, DefaultDocumentModule, DirectoryListingModule не будет работать – Madman

0

Вы можете использовать IIS Failed Request Tracing для посмотреть, что на самом деле запрашивается, и где он терпит неудачу.

 Смежные вопросы

  • Нет связанных вопросов^_^