2009-04-30 4 views
1

Je construis un site web référençant un assembly qui contient plusieurs scripts js en tant que ressources embarquées, certains contrôles qui utilisent ces scripts et un 'HttpResourcesHandler' qui sait comment les récupérer scripts intégrés lorsque demandé.Comment préempter IIS StaticFileHandler avec mon propre HttpHandler

Dans web.config J'ai une entrée dans la section qui lit

<add verb="*" 
    path="/embedded/controlscripts/*" 
    validate="false" 
    type="CWeb.Controls.Web.HttpResourcesHandler, CWeb.Controls.EditBox" /> 

Ce contrôle adn le travail d'un site Web tout à fait bien lors du débogage avec le serveur de développement web Visual Studio, mais si je puis passer le site à Exécuter sous IIS (v7 - Je cours Vista et il ne semble pas y avoir de problème avec le débogage du site en utilisant IIS 5 ou 6), le contrôle ne peut plus accéder aux scripts. Je reçois un message d'erreur HTTP 404.0 indiquant que StaticFileHandler ne trouve pas le fichier. Je sais que c'est intégré. Donc le StaticFileHandler semble saisir la requête pour le script avant la mienne et retourner un 404. Comment puis-je demander à IIS d'utiliser mon propre gestionnaire de ressources pour le répertoire embedded/controlscripts plutôt que le staticfilehandler? Je cours le site en mode classique au fait.

Répondre

2

J'ai aussi échoué à ce sujet. Mon erreur a été que j'ai registed le gestionnaire sous system.web au lieu de system.webserver.

Check this post for details

Questions connexes