2010-11-15 29 views
0

Existe-t-il un moyen d'utiliser plusieurs filtres de réponse dans ASP.NET?Utiliser des filtres à réponses multiples dans ASP.NET

HttpContext.Current.Response.Filter = MyFilter1 
HttpContext.Current.Response.Filter = MyFilter2 

Ce code est clair, ne peut pas fonctionner. Il remplace le filtre actuel par la nouvelle instance.

Alors, quelles sont vos meilleures pratiques pour ce scénario.

Merci et meilleures salutations.

Répondre

1

Seul un filtre de réponse unique peut être appliqué, vous devez donc agréger tout le travail dans ce filtre. Here's an example comment cela pourrait être réalisé:

Response.Filter = new TrimStream(new CompressStream(Response.Filter)); 

De cette façon, vous pouvez combiner plusieurs flux.

+0

Merci, solution intéressante! – Beni

2

Un filtre est un flux qui écrit dans un autre flux. Habituellement, vous construisez un filtre comme ceci:

response.Filter = new MyStream(response.Filter); 

Pour utiliser plusieurs filtres, vous faites la même:

response.Filter = new FirstFilterStream(response.Filter); 
response.Filter = new SecondFilterStream(response.Filter); 
+0

Merci! Cette solution fonctionne dans le contexte, où je ne connais pas tous les filtres dans chaque module. – Beni