Possiedo un modulo in un'applicazione ASP.NET MVC. Il modulo sta lavorando bene, ma è sparando per ogni tipo di file compresi i contenuti statici, anche se ho:Impossibile interrompere l'attivazione del modulo ASP.NET per il contenuto statico
<modules runAllManagedModulesForAllRequests="false">
<add name="MyModule" .../>
</modules>
Il modulo ganci AcquireRequestState e PostRequestHandlerExecute eventi ed entrambi mostrano contenuti statici cottura (.htm, css,. png ecc.).
Ho avuto l'impressione che runAllManagedModulesForAllRequests = "false" dovrebbe impedire ai moduli di attivare il contenuto non-ASP.NET.
per chiarire:
ho posso set preCondition = "managedHandler" come questo:
<add name="MyModule" type="MyApp.MyModule" preCondition="managedHandler" />
e ottenere il mio modulo al fuoco richieste solo gestiti.
Tuttavia, sto cercando di capire perché la pipeline di IIS in generale stia generando hit del modulo gestito per ogni richiesta. Penso che questo funzionasse perfettamente nelle versioni precedenti dove a meno che runAllManagedModulesForAllRequests = "true" non stia attivando il contenuto non gestito nei moduli ASP.NET.
In esecuzione su IIS8 su Windows 8 modalità 64 bit, con modalità pipeline integrata.
Aggiornamento:
Dopo qualche ricerca si scopre che delle seguenti condizioni:
- se runAllManagedModulesForAllRequests = "true" tutti i moduli - a prescindere dalla loro preCondition attributo impostazione fuoco su tutte le richieste . Ciò vale anche per gli eventi Application_XXXX implementare sul HttpApplication
- runAllManagedModulesForAllRequests = "false" non ha alcun effetto di mantenere richieste non gestiti dai moduli che colpiscono, a meno preCondition = "managedHandler" è impostato
- runAllManagedModulesForAllRequests = "false" non influisce Application_XXXX eventi, facendo in modo che tali eventi attivino solo le richieste gestite. IOW, Application_XXXX si comporta come se l'attuazione 'modulo' ha avuto una precondizione = "managedHandler"
Per informazioni più dettagliate su questo ho postato un blog: http://www.west-wind.com/weblog/posts/2012/Oct/25/Caveats-with-the-runAllManagedModulesForAllRequests-in-IIS-78
Puoi controllare che StaticFileModule è registrato con i moduli? Dovrebbe puntare a% windir% \ System32 \ inetsrv \ static.dll – pbz
Solo per verificare l'integrità, è possibile aggiornare con la discendenza completa del nodo? Dovrebbe essere in . Come ho detto, controllo di sanità mentale. :) –
Inoltre, se ricordo correttamente, è necessario preCondition = "managedHandler" per i moduli -> aggiungi – pbz