2009-05-26 6 views
5

Je sais que cela a déjà été demandé here mais la réponse (en utilisant un gestionnaire à la place) ne résout pas le problème, car j'utilise un composant tiers qui n'implémente pas IHttpHandler.Désactivation de HttpModule sur certains emplacements

Donc, encore une fois, est-il possible de charger/décharger un HttpModule sur une certaine demande?

EDIT: J'ai oublié de mentionner que nous travaillons avec .NET 2.0. Je suis désolé de l'oublier.

Répondre

1

Je ne l'ai pas testé, mais un comment in this article semble suggérer qu'il est possible d'enregistrer des modules que pour certains endroits en utilisant un <location> dans web.config, par exemple:

<location path="some/path"> 
    <system.web> 
     <httpModules> 
     <remove name="name"/> 
     <add name="name" type="type"/> 
     </httpModules> 
    </system.web> 
    </location> 
+0

Nous l'avons déjà essayé, mais pour une raison quelconque, cela ne fonctionne pas pour nous :( –

+0

Je vais marquer cela comme la réponse, jusqu'à ce que je trouve une meilleure solution pour notre problème particulier, comme semble qu'il ne soit pas travailler pour une raison extrange –

+3

@MaLKaV_eS pourquoi avez-vous marqué cela comme réponse? Je ne pense pas que cela fonctionne réellement – Freek

0

Je suppose que le problème est avec l'héritage du HttpModule, avez-vous besoin de l'héritage de votre web.config avec le contrôle tiers? Essayez d'ajouter cet attribut où le chemin sera où votre composant est stocké;

<location path="/ThirdPartyComponents" inheritInChildApplications="false"> 
    ... 
</location> 
+0

N'a pas fonctionné non plus, nous continuerons à essayer (et demanderons le support de tiers ...) –

+0

Normalement j'utilise juste une période dans le chemin pour désactiver globalement l'héritage pour tous les dossiers secondaires. comme je suppose que vous avez besoin d'héritage en dehors de vos composants tiers. –

0

Vous pouvez le faire avec un module wrapper. Enregistrez un module http avec votre application puis créez dans ce module des règles qui correspondent à l'exécution d'autres modules. Vous avez accès à l'objet de requête, vous devriez donc être capable de détecter le type de requête que vous recevez et d'acheminer la logique vers le module (personnalisé) correspondant.

Questions connexes