2010-09-21 3 views
0

Comment le faire?Comment faire pour attraper des fichiers non-aspx avec un module http?

Si je crée un module http, il saisit uniquement les fichiers .aspx. Les fichiers avec d'autres extensions (.js, .htm) sont ignorés.

Est-ce que cela a quelque chose à voir avec IIS? Bizarrement, toutes les extensions sont interceptées sur le serveur de développement Web ASP.net, mais pas lorsqu'elles sont hébergées dans IIS.

Répondre

1

Oui, cela a quelque chose à voir avec IIS.

Si vous utilisez IIS7, il existe une fonctionnalité appelée "Integrated Pipeline" qui permet à un site IIS de transmettre le traitement de tous les types de fichiers entrants à .net qu'ils soient .aspx ou non. Ceci est particulièrement utile pour sécuriser les ressources non-aspx. Afin de toujours utiliser les ressources de fichiers statiques hors de la boîte, l'exécution de .net vérifie d'abord l'existence d'un fichier statique, s'il n'y en a pas dans le chemin demandé, il cherchera un gestionnaire. Si vous utilisez IIS6 (ou version antérieure) ou IIS7 en mode pipeline non intégré (mode classique), vous pouvez toujours intercepter les demandes d'autres extensions et configurer IIS pour envoyer les demandes de ces types de fichiers à .net. C'est ce qu'on appelle le "mappage d'extension d'application". (P.S. J'ai vraiment essayé d'obtenir de bons liens pour cette réponse, mais j'ai dessiné un peu un blanc: essayez de googler "Integrated Pipeline" et "application extension mapping").

+1

Pour IIS6 (ou pipeline classique), vous n'avez pas besoin d'écrire de gestionnaire. ASP.NET runtime a déjà un gestionnaire pour servir des fichiers statiques. Tout ce que vous devez faire est d'enregistrer des extensions telles que * .js, * .htm etc. avec l'extension ASP.NET ISAPI - vous pouvez le faire à partir des propriétés du site web/dossier. – VinayC

+0

Oui, il suffit d'écrire des gestionnaires si vous voulez que le serveur de contenu soit dynamique, si vous cherchez simplement à utiliser .net pour l'authentification, etc., vous n'en avez pas besoin. Je vais éditer ... –

Questions connexes