2010-08-17 6 views
1

J'ai récemment créé une application MVC2. J'ai du mal à le faire sur un serveur Windows 2003 exécutant IIS 5.2. Ma machine en développement est Server 2008, donc pas de problème.Exécution de l'application MVC2 sur IIS 5.2

changements que je fait sur le serveur 2003 est Création d'un script de Wildcard Carte * et indiquant que, pour: c: \ windows \ microsoft.net \ Framework \ v4.0.30319 \ aspnet_isapi.dll

Je reçois un HTTP 403 Page interdite.

J'ai créé un apppool séparé et me présente qu'utiliser .Net 4

Voici mon global.asax

routes.MapRoute(
      "Default", // Route name 
      "{controller}.mvc/{action}/{id}", // URL with parameters 
      new { action = "Index", id = "" } // Parameter defaults 
     ); 

     routes.MapRoute(
      "Root", // Route name 
      "", // URL with parameters 
      new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
     ); 

Répondre

1

je le même problème tout en essayant de faire fonctionner mon application MVC2 sur le serveur IIS 5.1 . J'ai perdu beaucoup d'heures mais finalement je l'ai fonctionné. Votre Global.asax a l'air bien, mais il y a une autre chose. Sur le serveur IIS, il manque un mappage pour les fichiers .mvc. Vous devez l'ajouter pour que votre application fonctionne.

Rendez-vous dans IIS, puis regroupez Web sites et cliquez avec le bouton droit sur Default Web Site et sélectionnez Home directory. Maintenant, cliquez sur le bouton Configure. Cliquez sur Add pour ajouter une nouvelle extension de mappage.

Dans Executable, collez votre chemin d'accès au fichier aspnet_isapi.dll. Habituellement, c'est sous C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll.

Dans le champ Extension, écrivez .mvc. Lors des tâches (j'ai peut-être tort à propos de ce nom, car je n'utilise pas la version anglaise d'IIS) marquez la deuxième option et collez .

Cochez les cases 2 en bas.

Maintenant vous pouvez l'enregistrer en cliquant sur le bouton OK.

Un conseil à la fin. Si le bouton OK est désactivé, cliquez simplement sur un champ avec Executables et il devrait être activé ensuite.

Modifier Voici un autre conseil. Il est assez problématique d'exécuter l'application MVC sous IIS 5.x. Vous devez être prudent avec tous les chemins. Par exemple, pour inclure la bibliothèque jQuery dans SiteMaster page vous devez utiliser:


<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script> 

espère que cela fonctionne pour vous et vous avez enregistré un certain temps :)

+0

Donc, pour la nouvelle extension de la cartographie dois-je utiliser le v2.0.50727 ou v4.0.30319? L'application MVC2 est un répertoire virtuel sous le site Web par défaut. Le site Web par défaut s'exécute sous ASP.NET v2.0.50727 et le répertoire virtuel que j'ai créé s'exécute sous v4.0.30319.Le mapping que vous suggérez je crée une partie du site par défaut ou du répertoire virtuel? – obautista

+0

Cela ne fonctionne toujours pas pour moi. J'ai créé l'extension de mappage .mvc. Combien et lesquels devrais-je créer? En outre, devraient-ils être créés sous le répertoire virtuel ou le site Web par défaut? – obautista

+0

Imaginez que tout ce que vous avez à faire est de configurer Global.asax comme je l'ai montré ci-dessus et d'autoriser * Script map dans le répertoire virtuel (exécutant l'application MVC). Ensuite, apparemment, lors de l'installation de .Net Framework 4.0 sur Server 2003, le fichier isapi.dll est défini sur Interdit dans les extensions serveur Web/IIS. Après l'avoir réglé sur Autorisé, l'application est apparue. L'astuce JQuery/IIS5 référencée ci-dessus était bonne. Merci. – obautista

0

Tip « Une astuce à la fin Si le bouton OK est. désactivé puis cliquez simplement sur un champ avec les exécutables et il devrait être activé alors. "

et aussi pour

<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"> 
</script> 
Questions connexes