2010-09-15 4 views
1

J'ai mis à niveau notre projet d'un site Web vers une application Web et l'ai importé dans VS2k10.Le routage MVC.NET fonctionne sur le serveur de développement mais pas sur IIS 7.0

J'ai ajouté les références suivantes:

System.Web.Abstractions

System.Web.Mvc

System.Web.Routing ...

Changé cadre cible à 4.0 ...

Ajout d'un contrôleur 'HomeController.cs' ... Cela fonctionne maintenant dans le serveur de développement mais PAS dans IIS 7.0

Windows Server 2K8 VS2010 r2 NET Framework 4.0

pool d'applications est en cours d'exécution en mode pipeline intégré ... Je suis un peu confus sur pourquoi il fonctionne sur le serveur dev mais pas sur IIS ..

<system.webServer> 
    <modules> 
     <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="managedHandler" /> 
     <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> 
     <add name="Page" type="Impark.MPS.SelfServe.UIL.GlobalPageEvents, PageEventsModule" preCondition="managedHandler" /> 

    </modules> 
    <handlers> 
     <add name="*.vbhtml_*" path="*.vbhtml" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.vbhtm_*" path="*.vbhtm" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.cshtml_*" path="*.cshtml" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.cshtm_*" path="*.cshtm" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.aspq_*" path="*.aspq" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.xamlx_*" path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.xoml_*" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.rules_*" path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.svc_*" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.soap_*" path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.rem_*" path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.asmx_*" path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="ScriptResource.axd_GET,HEAD" path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*_AppService.axd_*" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="eurl.axd_*" path="eurl.axd" verb="*" type="System.Web.HttpNotFoundHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
    </handlers> 
    <validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 

Désolé, j'ai oublié de mentionner. Sur le serveur de développement, j'obtiens la réponse attendue. Même URL dans IIS: Résumé des erreurs Erreur HTTP 404.0 - Non trouvé La ressource que vous recherchez a été supprimée, son nom a été modifié ou est temporairement indisponible.

+1

Avez-vous fait que vous avez déplacé tous les fichiers nécessaires à la machine défaillante. L'erreur indique-t-il qu'il n'a pas pu trouver le fichier? – klabranche

+0

Même machine physique et même chemin ... IE il n'y a pas de déplacement de fichiers ... Mais je viens de trouver un indice ... Lorsque j'ajoute un chemin de serveur virtuel dans le serveur de développement, il échoue maintenant ... IE http: // localhost: 9999/Home fonctionne ... Mais http: // localhost: 9999/Company.project.SubProject.Target/Home ne fonctionne pas – Gary

Répondre

1

Si vous utilisez .Net 4.0, vous devez supprimer runtimeVersionv2.0 de votre preCondition

Questions connexes