2009-03-16 3 views
0

Je voudrais exécuter un morceau discret de code. Net pour chaque requête qui passe par un certain site Web dans IIS. C'est un code complètement isolé - il n'affecte rien avant ou après - il enregistre quelques informations de la requête, puis se termine. Notez que ce n'est pas quelque chose que je peux mettre dans Application_OnRequestBegin ou un autre fichier ASP.Net parce que j'ai besoin de cela pour exécuter des fichiers non-Net (PDF, images, etc.). Il doit s'exécuter pour les requêtes qui ne devraient normalement pas toucher le framework .Net.Quelle partie du framework ASP.Net utilisez-vous pour exécuter du code arbitraire sur chaque requête entrante vers IIS?

Un module HTTP est ce que je recherche? J'ai RTFM un peu, mais il semble qu'il existe un certain nombre de façons différentes de manipuler le pipeline, et je ne suis pas sûr de celui que je devrais utiliser.

Répondre

3

Vous pouvez utiliser un HTTP Module, cependant, pour l'utiliser, vous devrez mapper toutes les requêtes à IIS, ce qui peut être fait en utilisant un wild card map.. Cela aura un impact sur les performances car vous allez forcer toutes les requêtes via l'exécution .net.

Vous pouvez également écrire votre propre filtre ISAPI, mais je crois que vous devrez utiliser C++.

Modifier

ASP.Net a un gestionnaire par défaut si votre carte de la Faire des wild card dont vous avez besoin, assurez-vous que vous avez encore dans votre web.config dans votre windows/microsoft.net/cadre ..../config/folder:

<httpHandlers> 
.... 
      <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True"/> 
</httpHandlers> 

Vous avez peut-être également supprimé le gestionnaire dans le fichier de configuration de votre site Web. Enfin, vous pouvez essayer d'ajouter un mappage explicite pour le fichier pdf.

+0

Les caractères génériques sont corrects, mais une fois mon code exécuté, je souhaite que la demande continue sans interruption. Ce qui veut dire que je ne veux pas que quelque chose échoue parce que .Net essaie d'analyser un fichier PDF ou quelque chose. – Deane

+0

Ok laissez-moi vous trouver le lien, il y a un moyen de le faire. – JoshBerke

1

Vous souhaitez écrire un ISAPI filter (terminologie 5.0) ou une extension (dans 6.0).

Questions connexes