L'obtention de l'ASP.MVC2/VS2010 application dans IIS 7.5
J'ai récemment téléchargé la version bêta 2 de VS2010 et a commencé à jouer avec ASP.NET MVC2. Le développement Initial a été fait avec Casini, mais maintenant, je voulais exécuter l'application à partir de IIS 7.5 (je suis sous Windows 7).
J'ai installé le serveur IIS6 métabase compatibilité et je VS2010 en tant qu'administrateur je peux donc utiliser l'option "Créer un Répertoire Virtuel" bouton à partir de la "Web" de l'onglet paramètres du projet.
Cela a créé le web d'entrée de l'application dans IIS, mais il ne fonctionne pas.
Quand je aller à la page principale ( http://localhost/MyMvcApp/ ), j'ai une erreur HTTP 403. Quand je vais directement à l'un des sous-pages ( http://localhost/MyMvcApp/Home/ ), j'ai une erreur HTTP 404.
Donc je suppose que pour une raison quelconque, le routage d'URL ne fonctionne pas.
Je l'ai déjà ajouté UrlRouting comme un module et un gestionnaire pour le web.config. Dans mes recherches, c'est proposé comme une solution pour certains similair problèmes. Mais pour moi cela ne fonctionne toujours pas.
La partie intéressante de mon web.config looke comme ceci:
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<httpHandlers>
<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler" />
</httpHandlers>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" >
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>
<handlers>
<remove name="MvcHttpHandler" />
<add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler" />
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>
Vous devez vous connecter pour publier un commentaire.
J'ai juste eu ce problème, et malheureusement le correctif ici ne fonctionne pas pour moi.
Ce qui a fait un travail était en cours d'exécution ceci:
dans une fenêtre de commande...fonctionne comme un rêve maintenant!
(Donc, est ASP.Net il n'est pas installé dans IIS par défaut lorsque vous installez VS2010?)
Après plus de vérification et d'essayer, j'ai remarqué dans les "fonctionnalités Windows Activer ou désactiver la boîte de dialogue" qui "HTTP Erreurs" et des "HTTP de Redirection" sont absents.
C'est étrange car d'aussi loin que je me souvienne, cela a été installé automatiquement par le Microsoft Web Platform Installer.
En tout cas, "HTTP de Redirection" semble être un besoin de fonction à avoir lorsque l'on travaille avec MVC. Donc après je l'ai installé tout semble fonctionner parfaitement.
Ajouter à votre
web.config
fichier:C'est une douleur de le faire manuellement. Mais certainement faisable! Je l'ai réussi et résumée dans le présent guide étape par étape sur l'ajout d'un mvc 2 projet existant formulaires web solution ici. Espérons que cela aide... il m'a fallu âge de travailler si tous les paramètres de configuration et il semble y avoir si peu de ressources sur le sujet.
Ce qui a Contribué à moi est à l'aide de classique pipeline pour le pool d'applications au lieu de l'intégrer:
le texte d'alt http://img823.imageshack.us/img823/3684/20100612135212.png
Veuillez noter que vous devez exécuter aspnet_regiis.exe -ir en tant qu'administrateur, il semble évident, mais quand vous êtes fatigué d'essayer des choses, sans succès pour le résoudre, vous pourriez vous passer.
Juste pour dire un grand MERCI à toutes les réponses, après de nombreuses heures à essayer différentes choses, enfin j'ai pu travailler mon MVC 2 application dans IIS.
J'ai été la construction d'une MVC2 application sur mon ordinateur portable Windows 7, à l'aide .net beta 2 et
VS 2010 beta 2. Quand j'ai installé l'ensemble de l'environnement de développement sur Windows Server 2008, y compris les VS, construit la solution et il a couru, le routage a bien fonctionné.
La prochaine étape a été de créer un serveur de production sur Windows Server 2008, sur lequel j'ai déployé l' .net 4.0 bêta, mais aucune des autres choses qui est venu avec le VS 2010 beta téléchargement.
Sous cette configuration, le routage n'a jamais fonctionné jusqu'à ce que je activer la Redirection HTTP, comme indiqué par Jeroen.
Espère que cela aide quelqu'un qui pourrait être dans le même bateau.
Voulais juste noter que j'ai eu le même problème avec 403 et une erreur 404, mais l'ajout de la
system.webServer
et tous les éléments de lasystem.web/pages/namespaces
nœud résolu pour moi.