ASP.NET MVC sur IIS tombe dans le gestionnaire de fichier statique
J'ai un problème avec un ASP.NET MVC site.
Ce sont les détails:
- ASP.NET MVC 2
- ASP.NET 4 pipeline intégré
- IIS 7.5 sur Windows Web Server 2008 R2
Chaque fois que je fais une demande pour l'application je reçois le "Erreur HTTP 404.0 - introuvable-erreur et les informations détaillées sur l'erreur montre que c'est le gestionnaire de fichier statique qui signale l'erreur:
- Module: IIS Web de Base de
- Notification: MapRequestHandler
- Gestionnaire: StaticFile
- Code d'erreur: 0x80070002
ce qui signifie que la demande n'est jamais entré dans le MVC pile.
Je dois signaler que l'IIS est déjà un ASP.NET MVC 3 sur le même pool d'applications et MVC 2 sur un ASP.ENT 2 application de la piscine. C'est donc le combo ASP.NET 2 sur la ASP.NET 4 application de la piscine qui me donnent des maux de tête.
Fondamentalement, je veux mettre à jour l'application à partir de ASP.NET MVC 2 sur un ASP.NET 2.0 application de la piscine pour un ASP.NET MVC 2 sur un ASP.NET 4.0 application de la piscine.
Ainsi, toutes les idées?
Vous devez vous connecter pour publier un commentaire.
Je vois que vous résolu votre problème, mais pour quelqu'un googler:
J'ai eu ce problème et, dans mon cas j'ai juste besoin de vous inscrire ASP.NET 4 avec IIS. J'ai été supprimer et de rajouter des toiles pour résoudre d'autres questions et tout simplement oublié de le faire. La commande qui a fonctionné pour moi a été:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i
Votre propre .version net peut être différent, surtout si vous êtes dans l'avenir, de sorte que la voie ne peut pas être tout à fait exact.
J'ai eu le même problème quand j'ai installé IIS après l'installation de Visual Studio, etc.
J'ai été en mesure de résoudre le problème en changeant de mon site Web.fichier de config, ajout de la
runAllManagedModulesForAllRequests="true"
à la<modules>
tag:(Pour plus de détails, copié à partir d'ici: http://www.west-wind.com/weblog/posts/2011/Mar/27/ASPNET-Routing-not-working-on-IIS-70)
De Chris réponse m'a amené à vérifier si l'application de la piscine a été configuré pour .net 4. Bien sûr, ce serveur par défaut à la création de 32 bits .net 2 piscines en mode classique.
Assurer que votre application est en 4.0 et vous voudrez probablement pipeline Intégré pour tout nouveau développement. 32/64 est principalement vos dépendances. La valeur par défaut est de laisser les "permettre aux 32 bits allocations" la valeur false.
Donc j'ai trouvé l'erreur. Il y avait une gauche plus de document par défaut à la racine, ce qui n'est pas nécessaire pour les applications utilisant le pipeline intégré. Aussi quelques changements au niveau Mondial.ascx et de la route de l'enregistrement a été neessary, mais après cela, il a travaillé.