Utworzono prosty moduł HttpModule, który usuwa białe znaki z odpowiedzi przed wysłaniem jej do klienta. Działa to dobrze dla strony aspx w IIS7.0, ale jeśli utworzę statyczną stronę html i wywołaję ją, HttpModule nie działa (tak jak wiem, ponieważ źródło zawiera białe spacje, które w przeciwnym razie powinny zostać usunięte). Najwyraźniej jest coś, co nie robię dobrze, ale nie wiem co.Jak sprawić, by statyczna strona HTML przechodziła przez HttpModule w IIS7.0?
Moja strona internetowa znajduje się w puli aplikacji z .NET 4.0 i ManagedPipelineMode = Integrated
.
Dodałem mój moduł jako ManagedModule i odnosi się do zestawu z silną nazwą z GAC.
dzięki
Edit- tutaj jest częścią system.webServer z 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- naprawił. Dla wszystkich zainteresowanych, to jak mój moduł sprawdza odpowiedź i wtedy zdecyduje, czy należy kontynuować usuwanie spacji lub nie
if (contentType.Equals("text/html")
&& httpContext.Response.StatusCode == 200
&& httpContext.CurrentHandler != null)
{ ... }
Problem był z trzecim warunkiem powyżej httpContext.CurrentHandler! = Null. podczas wywoływania tego modułu dla statycznych stron .html, currentHandler miał wartość zerową, a zatem kod nigdy nie wszedł do środka, aby manipulować html. usunąłem ten trzeci warunek i działa teraz. dzięki za twoje odpowiedzi każdy
zmień nazwę statycznej strony .html na .aspx (bez zmiany potrzebnej zawartości) i sprawa powinna zadziałać – Alex
GZIP już to robi http://stackoverflow.com/questions/702124/enable-iis7-gzip – jrummell
@alex - to nie jest to, co chcę osiągnąć. mógłbym to łatwo zrobić i nie podnosić w ogóle tego pytania. Chcę móc korzystać z tego httpmodule nie tylko dla aplikacji asp.net, ale także dla zimnych fuzji. moim celem jest sprawienie, by działało na strony .html i zabrało je stamtąd. –