2012-06-15 21 views
121

volevo sapere qual è il significato di<Moduli runAllManagedModulesForAllRequests = "true" /> Significato

<modules runAllManagedModulesForAllRequests="true" /> 

Sto usando IIS 7.5 e ho una semplice applicazione web. Devo scrivere questo nel mio file web.config. Ho anche scritto pochi gestori HTTP per la chiamata jquery ajax. Sto usando l'autenticazione del modulo e asp.net 4.0.

Come determinare quale modulo devo eseguire e quale non deve essere?

risposta

108

Moduli Presupposti:

Il nucleo del motore IIS utilizza precondizioni per determinare quando attivare un particolare modulo. I motivi di prestazioni, ad esempio, potrebbero determinare che si desidera eseguire solo moduli gestiti per richieste che vanno anche a un gestore gestito. La precondizione nel seguente esempio (precondition="managedHandler") consente solo le forme modulo di autenticazione per le richieste che vengono gestiti anche da un gestore gestito, come le richieste di aspx o file .asmx:

<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> 

Se si rimuove l'attributo precondition="managedHandler" L'autenticazione Forms si applica anche ai contenuti che non sono offerti dai gestori gestiti, come .html, .jpg, .doc, ma anche per le estensioni classiche ASP (.asp) o PHP (.php). Vedere "How to Take Advantage of IIS Integrated Pipeline" per un esempio di attivazione dei moduli ASP.NET da eseguire per tutto il contenuto.

È inoltre possibile utilizzare un collegamento per abilitare tutti i moduli gestiti (ASP.NET) per l'esecuzione per tutte le richieste nell'applicazione, indipendentemente dalla condizione "managedHandler".

per consentire a tutti i moduli riuscito a correre per tutte le richieste, senza dover configurare ogni voce del modulo per rimuovere il "managedHandler" precondizione, utilizzare la proprietà runAllManagedModulesForAllRequests nella sezione <modules>:

<modules runAllManagedModulesForAllRequests="true" />  

Quando si utilizza questa proprietà , la precondizione "managedHandler" non ha alcun effetto e tutti i moduli gestiti vengono eseguiti per tutte le richieste.

Copiato da IIS Modules Overview: Preconditions

+0

è bene per eseguire tutti i modelli per tutte le richieste o io devono essere più specifico laggiù. Questo influenza la velocità dell'applicazione? –

+2

Sì, ci sarà un problema di prestazioni. Dovresti invece usare la precondizione. –

+3

allora come dovrei decidere quale modulo devo usare e quale no. –

Problemi correlati