J'ai donc tout le code mis à jour, la solution complète est construite. Cela fonctionne sur la machine de tout le monde, mais lorsque j'essaie d'accéder à localhost/extranet
sur ma machine, cela me donne l'erreur suivante:
Erreur HTTP 403.14 - Interdit
Informations d'erreur détaillées:
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler 0x00000000
Requested URL http://localhost:80/extranet/
Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
Logon Method Anonymous
Logon User Anonymous
Maintenant, j'essayais d'aller dans IIS7 et d'activer la navigation dans les répertoires. Cela supprimait l'erreur, mais je n'avais toujours pas affiché mon site Web. J'ai aussi essayé d'entrer et de désactiver le document par défaut, de le réactiver, tout, rien n'a fonctionné. J'ai également redémarré IIS plusieurs fois sans résultat.
Des idées?
Il semble que votre IIS ne traite pas les règles de routage de votre application et essaie de trouver un fichier default.aspx, index.htm, etc. Comme il ne le peut pas, il souhaite afficher les listes de répertoires (qui C’est pourquoi vous avez reçu le 404.14).
Je viens de vérifier ma configuration de développement et je pense que votre AppPool doit être défini sur Integrated par opposition à Classic sur le pipeline géré pour AppPool. J'ai déjà rencontré ce problème auparavant. Il existe peut-être des moyens d'utiliser le pipeline classique, mais ce serait/devrait être le moyen le plus rapide de résoudre votre problème. Pour vérifier/modifier le mode de pipeline, cliquez sur Pools d'applications dans le menu situé à gauche d'IIS, recherchez votre AppPool et recherchez dans la colonne de pipeline gérée. S'il est défini sur Classique -> Cliquez avec le bouton droit sur l'AppPool, choisissez les paramètres de base, puis modifiez le menu déroulant de Classique à Intégré.
Si je me trompe, s'il vous plaît, n'hésitez pas à me corriger dans les commentaires.
Edit - Juste pour ajouter, vous pouvez exécuter une application MVC en mode Pipeline classique, mais vous devez effectuer les astuces IIS 6 pour le faire fonctionner correctement. Vous devez principalement activer le mappage de script générique pour que MVC fonctionne en mode classique. Sinon, un fichier .aspx (ou similaire) existe pour gérer le pipeline d’exécution vers .NET à partir d’IIS.
Causes cette erreur est supprimée Global.asax fichier de votre répertoire racine de votre site.
Pour résoudre ce problème, ajoutez un fichier Global.asax à votre projet.
Voir ici: Comment ajouter un fichier Global.asax au projet ASP.NET MVC4
Dans IIS, vous devez déterminer le pool d'applications à partir duquel votre application s'exécute. Cliquez simplement avec le bouton droit sur l’application Web sous Sites>Manage Web Site>Advanced Settings
. La première propriété devrait être le pool d'applications.
Maintenant, cliquez sur Application Pools
. Vous devriez voir une colonne appelée "Identity". Ajoutez cet utilisateur à la liste de contrôle d'accès du répertoire C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
. Si elle indique simplement 'ApplicationPoolIdentity', cela peut être un peu compliqué déterminer l'utilisateur . Si vous utilisez simplement DefaultAppPool
, vous pouvez utiliser IIS AppPool\DefaultAppPool
.
Modifiez la "page de démarrage" en cliquant avec le bouton droit de la souris sur la page et sélectionnez "Définir en tant que page de démarrage" que vous souhaitez ouvrir au premier démarrage de l'application Web. Cela pourrait résoudre votre problème. :)
Ma solution était parce que je n'avais pas ASP.NET installé via "Activer et désactiver des fonctionnalités Windows", donc c'était simple. Je l'ai compris en activant l'explorateur de répertoires et en essayant d'accéder à mon dossier de vues, ce qui a donné une réponse plus descriptive et a indiqué à peu près qu'il y avait un problème avec un module car ASP.NET n'était pas correctement installé. Il a ensuite commencé à aller l’installer.
J'ai résolu ce problème en définissant un cadre .net exact. Mon site Web utilisait la version v4.0 de .net.
J'espère que cela t'aides
Assurez-vous également que, dans IIS Paramètres du pool d'applications, Enabled 32-bit Applications
sous Advanced Settings
est défini sur FALSE. J'ai passé des heures à essayer de résoudre ce problème et c'était mon problème. Windows Server 2012 IIS 8.5