2009-05-26 12 views
5

So che questo è già stato chiesto here ma la risposta (utilizzando un gestore, invece) non risolve il problema, come io sto usando un componente di terze parti che non implementa IHttpHandler.Disattivazione HttpModule sul certa posizione

Quindi, ancora, c'è un modo per caricare/scaricare un HttpModule su una determinata richiesta?

EDIT: Ho dimenticato di dire che stiamo lavorando con .NET 2.0. Mi dispiace per averlo dimenticato.

risposta

1

non ho testato questo, ma un comment in this article sembra suggerire che è possibile registrare i moduli solo per alcune località utilizzando un <location> nel web.config, ad esempio:

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

Abbiamo provato questo già, ma per qualche ragione, non funziona per noi :( –

+0

io lo segnaliamo come la risposta, fino a quando vengo con una soluzione migliore per il nostro problema particolare, come sembra che non sia –

+3

@MaLKaV_eS perché hai contrassegnato questo come risposta? Non penso che funzioni effettivamente – Freek

0

Presumo che il problema è legato all'eredità di HttpModule, hai bisogno dell'eredità di web.config con il controllo di terze parti?

Provare ad aggiungere questo attributo dove il percorso sarà dove il componente è stato memorizzato;

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

Non ha funzionato, continueremo a provare (e chiederemo il supporto di terze parti ...) –

+0

Normalmente uso solo un punto nel percorso per disabilitare l'ereditarietà globale per tutte le sottocartelle. Ho aggiunto solo un percorso qui presumo che tu abbia bisogno di ereditarietà al di fuori dei componenti di terze parti. –

0

Un modo per farlo è con un modulo wrapper. Registrare un httpModule con l'applicazione quindi creare regole in questo modulo che corrispondono all'esecuzione di altri moduli. Hai accesso all'oggetto richiesta, quindi dovresti essere in grado di rilevare il tipo di richiesta che stai ricevendo e indirizzare la logica al modulo (personalizzato) pertinente.

Problemi correlati