Я создал простой HttpModule, который удаляет пробелы из ответа перед отправкой его клиенту.Это прекрасно работает для страницы aspx на IIS7.0, но если я создаю статическую HTML-страницу и вызываю ее, HttpModule не срабатывает (насколько я знаю, так как источник содержит пробелы, которые в противном случае должны были бы быть удалены).Очевидно, что-то я не правильно делаю, но не знаю, что.
Мой сайт находится в пуле приложений с .NET 4.0 и ManagedPipelineMode = Integrated
.
Я добавил свой модуль в качестве ManagedModuleи относится к сборке со строгим именем-ключом от GAC.
спасибо
Edit - здесь часть system.webserver из web.config
<system.webServer>
...
<modules runAllManagedModulesForAllRequests="true">
<add name="RemoveWhitespaceHttpModule"
type="HttpModules.Modules.RemoveWhitespaceHttpModule, HttpModules,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=8a83u4bi47o9fo0d"
preCondition="" />
</modules>
<defaultDocument>
<files>
<add value="TestForm.aspx" />
</files>
</defaultDocument>
</system.webServer>
Edit-Починил это.Для всех, кто интересуется, вот как мой модуль проверяет ответ и затем решает, продолжить ли удаление пробела или нет
if (contentType.Equals("text/html")
&& httpContext.Response.StatusCode == 200
&& httpContext.CurrentHandler != null)
{ ... }
Проблема была с третьим условием выше httpContext.CurrentHandler! = Null .при вызове этого модуля для статических .html-страниц currentHandler был нулевым, и, следовательно, код никогда не уходил внутрь для манипулирования html.Я удалил это третье условие, и теперь оно работает.спасибо всем за ответы