Question

Je ne parviens pas à contourner les 404 erreurs de asp.net mvc beta lors du déploiement sur IIS 6. Cela fonctionnait dans l'un des aperçus en mappant .mvc dans IIS, mais cela ne fonctionne plus. J'ai lu Le message d'Omar et plusieurs autres sur le Web et ont essayé leurs solutions, mais sans succès, jusqu'à présent.

La page d'accueil s'ouvre sans problème sous IIS 6, mais d'autres pages 404 et le site fonctionne bien sous IIS 7.

Quelqu'un at-il déployé asp.net mvc beta vers IIS 6 avec succès? Si tel est le cas, quels ajustements devez-vous apporter au code et / ou aux paramètres IIS pour que cela fonctionne?

Était-ce utile?

La solution

J'ai trouvé une solution à mon problème grâce à Le blog de Steve Sanderson (Merci, Steve):

Utilisez un mappage générique pour aspnet_isapi.dll. Cela indique à IIS 6 de traiter toutes les demandes à l’aide d’ASP.NET. Le routage est donc toujours appelé et & # 8217; pas de problème. C’est & # 8217; facile à installer:

  • ouvrez le gestionnaire IIS (exécutez - > inetmgr - > OK)
  • faites un clic droit sur votre application, accédez à Propriétés
  • puis sur l'onglet Répertoire de base, puis cliquez sur Configuration.
  • Sous Cartes d'application générique, cliquez sur Insérer (pas sur Ajouter, ce qui est confus juste au-dessus)
  • puis entrez C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll pour & # 8220; Exécutable & # 8221; et décochez l'option Vérifier que le fichier existe.

Autres conseils

Je n'arrive pas encore à écrire de commentaires. Je vais donc écrire une nouvelle réponse.

Quelques questions similaires se posent sur stackoverflow. J'utilise MVC 3. Je sais que la question était liée à MVC 2. Mais comme c’est le premier article de stackoverflow auquel je suis arrivé, je pense que cela vaut la peine de mentionner que:

  • lorsque vous utilisez MVC 3, vous devez ajouter un nouveau mappage d'extension avec l'exécutable du framework .NET 4 (C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll)

< modifier > je viens de découvrir que je n'ai même pas besoin de configurer le mappage des extensions. < / edit >

  • Cela ne fonctionnait toujours pas pour moi alors :). Je devais toujours «autoriser» ASP.NET v4.0.30319 dans la section Extensions du service Web dans IIS:
    • ouvrir IIS
    • cliquez sur le nœud du serveur
    • ouvrir la section Extensions du service Web
    • sélectionnez le fichier ASP.NET v4.0 ....
    • clic droit - > Permettre Bon aller!

La réécriture d'URL peut vous aider à résoudre le problème. J'ai mis en place une solution permettant de déployer une application MVC sous n'importe quelle version d'IIS même en cas d'utilisation d'un hébergement virtuel. http://www.codeproject.com/KB/aspnet/ iis-aspnet-url-rewriting.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top