Domanda Come viene determinato l'ordine di esecuzione per HttpModules?


Supponiamo che entrambi FirstModule e SecondModule gestire il Application_BeginRequest evento. Eseguirà nell'ordine definito in web.config?

<httpModules>
  <add type="MyApp.FirstModule, MyApp" name="FirstModule"/>
  <add type="MyApp.SecondModule, MyApp" name="SecondModule"/>
  <add type="OtherApp.OtherModule, OtherApp" name="OtherModule"/>
</httpModules>

Esistono altri modi in cui è possibile specificare l'ordine?


31
2018-03-11 18:05


origine


risposte:


Secondo questo post sul forum, HttpModules vengono eseguiti nell'ordine in cui sono stati registrati. Questo ha senso per me, perché altrimenti il <clear> e <remove>  le direttive non funzionerebbero come previsto, ad es. se usato in questo modo:

<httpModules> 
   <clear/>
   <add... />
</httpModules>

33
2018-03-11 18:32



Non penso che sia possibile garantire o specificare un ordine in cui verranno eseguiti i moduli http. Se SecondModule dipende da FirstModule, potrebbe essere meglio combinare le loro funzionalità in 1 httpmodule.


-1
2018-03-11 18:19