web-dev-qa-db-fra.com

<modules runAllManagedModulesForAllRequests = "true" /> Signification

Je voulais savoir quel est le sens de

<modules runAllManagedModulesForAllRequests="true" />

J'utilise IIS 7.5 et je dispose d'une application Web simple. Dois-je écrire ceci dans mon fichier web.config? J'ai aussi écrit quelques gestionnaires http pour jquery appel ajax. J'utilise l'authentification de formulaire et asp.net 4.0.

Comment puis-je déterminer quel module je dois exécuter et lequel ne doit pas être?

130
शेखर

Modules Conditions préalables:

Le moteur principal IIS utilise des conditions préalables pour déterminer quand activer un module particulier. Les raisons de performances, par exemple, peuvent indiquer que vous souhaitez exécuter uniquement les modules gérés pour les demandes qui vont également à un gestionnaire géré. La condition préalable de l'exemple suivant (_precondition="managedHandler"_) active uniquement le module d'authentification par formulaire pour les demandes également gérées par un gestionnaire géré, telles que les demandes relatives aux fichiers .aspx ou .asmx:

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

Si vous supprimez l'attribut _precondition="managedHandler"_, l'authentification par formulaires s'applique également au contenu qui n'est pas géré par des gestionnaires gérés, tels que .html, .jpg, .doc, mais également pour le format classique ASP (.asp). ) ou PHP (.php) extensions. Voir " Comment tirer parti de IIS Pipeline intégré " pour obtenir un exemple permettant aux modules ASP.NET de s'exécuter pour tout le contenu.

Vous pouvez également utiliser un raccourci pour permettre à tous les modules gérés (ASP.NET) de s'exécuter pour toutes les demandes de votre application, quelle que soit la condition préalable "managedHandler".

Pour permettre à tous les modules gérés de s'exécuter pour toutes les demandes sans configurer chaque entrée de module afin de supprimer la condition préalable "managedHandler", utilisez la propriété runAllManagedModulesForAllRequests dans le _<modules>_ section:

_<modules runAllManagedModulesForAllRequests="true" />    
_

Lorsque vous utilisez cette propriété, la précondition "managedHandler" est sans effet et tous les modules gérés s'exécutent pour toutes les demandes.

Copié à partir de vue d'ensemble des modules IIS: conditions préalables

117
Kapil Khandelwal