Mam moduł w aplikacji ASP.NET MVC. Moduł pracuje bez zarzutu, ale to strzelania do każdego rodzaju pliku tym statyczny chociaż mam:Nie można zatrzymać wypalania modułu ASP.NET dla zawartości statycznej
<modules runAllManagedModulesForAllRequests="false">
<add name="MyModule" .../>
</modules>
Te haki Moduł AcquireRequestState i PostRequestHandlerExecute wydarzenia i pokazać zarówno statyczny wypalania (.htm, .css. png itp.).
Miałem wrażenie, że runAllManagedModulesForAllRequests = "false" powinno uniemożliwiać modułom uruchamianie treści spoza usługi.
Dla wyjaśnienia:
I może zestaw warunek wstępny = "managedHandler" tak:
<add name="MyModule" type="MyApp.MyModule" preCondition="managedHandler" />
i dostać mój moduł na ogień tylko udało żądań.
Jednak staram się zrozumieć, dlaczego rurociąg IIS generalnie uruchamia trafienia modułu zarządzanego dla każdego żądania. Myślę, że to działało dobrze w starszych wersjach, gdzie dopóki runAllManagedModulesForAllRequests = "true" nie uruchamia niezarządzanej zawartości do modułów ASP.NET.
Działa na IIS8 w systemie Windows 8 w trybie 64-bitowym, ze zintegrowanym trybem potoku.
Aktualizacja:
Po kilku dalszych badań okazuje się, że prawdziwe są następujące:
- jeśli runAllManagedModulesForAllRequests = „true” wszystkie moduły - niezależnie od ich warunek konieczny atrybut podpalanie na wszystkich żądań . To samo dotyczy wydarzeń Application_XXXX wdrożyć na HttpApplication
- runAllManagedModulesForAllRequests = „false” nie ma wpływu na utrzymanie niezarządzanymi żądania od uderzenia modułów chyba warunek wstępny = „managedHandler” jest ustawiony
- runAllManagedModulesForAllRequests = „false” wpływa Application_XXXX zdarzeń, powodując, że zdarzenia te będą wtedy uruchamiane tylko wtedy, gdy będą zarządzać żądaniami. IOW, Application_XXXX zachowuje się tak, jakby „moduł” realizacja miała warunek wstępny = „managedHandler”
celu uzyskania bardziej szczegółowych informacji na ten temat napisałem wpis blogu: http://www.west-wind.com/weblog/posts/2012/Oct/25/Caveats-with-the-runAllManagedModulesForAllRequests-in-IIS-78
można sprawdzić, StaticFileModule jest zarejestrowana pod modułów? Powinien wskazywać% windir% \ System32 \ inetsrv \ static.dll – pbz
Po prostu do sprawdzenia poprawności, czy możesz zaktualizować z pełnym pochodzenie węzła? Powinien znajdować się w . Tak jak powiedziałem, sprawdzenie stanu psychicznego. :) –
Ponadto, jeśli dobrze pamiętam, potrzebna jest opcja preCondition = "managedHandler" dla modułów -> dodaj – pbz