Il y a plusieurs publications à ce sujet et j'ai déjà essayé beaucoup de choses. Mais en vain. En tant que développeur Winforms, j'ai commencé à travailler sur ce Web quelques jours en arrière, alors que mon entreprise prenait des initiatives Web.
J'ai un projet ASP.Net et je souhaite l'héberger sur IIS local. Dans les paramètres Project properties -> Web
, j'ai choisi Use Local IIS Server
et j'ai donné une URL comme localhost/MyApp
. J'ai essayé d'y accéder sur mon navigateur firefox et j'ai reçu l'erreur HTTP Error 503. The service is unavailable.
Auparavant, j'ai eu beaucoup d'autres erreurs et je les ai toutes corrigées une par une. Mais frappé avec celui-ci. Ce sont les paramètres que j'ai dans mon projet
Enable 32 bit Application
est trueAny CPU
pour le cadre cibleMais je voudrais mentionner un comportement étrange. Suivre est quelque chose que je suis confronté
localhost/MyApp
)HTTP Error 503. The service is unavailable
J'ai vu lien suivant et je l'ai déjà essayé. Pour le comportement ci-dessus, j'ai atteint ici . Selon ce lien, le nom de l'ordinateur ne doit pas contenir .
. Je n'ai pas de .
dans le nom de mon ordinateur, mais j'ai -
. De plus, mon nom de domaine contient .
. De plus, je ne peux pas modifier ces paramètres car son ordinateur portable est mon bureau et nos paramètres TFS sont liés à nos noms de domaine et d'ordinateur.
Quelqu'un peut-il m'aider à comprendre ce qui se passe? Guidez-moi s'il-vous-plaît. Merci.
Modifier
J'ai le code suivant dans Global.asax
. La méthode Application_BeginRequest
est vide dans le même fichier.
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
System.Environment.GetEnvironmentVariable("PATH"));
System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
MyAppLog.Initialize();
MyAppLog.WriteMessage("Application Started");
}
Mettre à jour
Conformément aux suggestions de Commentaire, je suis en mesure de gérer le site Web à partir de Cassini.
Cela peut être dû au fait que le pool d'applications de IIS est configuré pour s'exécuter sous un compte personnalisé et que ce compte n'existe pas, qu'un mot de passe incorrect a été fourni ou que le mot de passe a été modifié. Examinez les propriétés avancées du pool d’applications dans IIS pour le compte qu’il utilise.
De plus, le journal des événements peut contenir davantage d'informations sur les raisons pour lesquelles le pool d'applications s'arrête immédiatement à la première demande.
Ok, j’ai une autre solution pour un cas particulier: si vous utilisez WINDOWS 10 et que vous l’avez récemment mise à jour (avec le package Anniversary Update), vous devez suivre les étapes ci-dessous:
Windows Event Viewer
- appuyez sur Win + R et tapez: eventvwr
, puis appuyez sur ENTER.Windows Event Viewer
, cliquez sur Windows Logs
-> Application
.IIS-W3SVC-WP
dans la fenêtre du milieu.Le module DLL >> chemin d'accès à la DLL << n'a pas pu être chargé. La donnée est l'erreur.
Control Panel
-> Program and Features
et en fonction de la DLL qui ne peut pas être chargée, vous devez réparer un autre module: rewrite.dll
- find Module 2 de réécriture d'URL IIS et cliquez sur Change
-> Repair
aspnetcore.dll
- recherchez Microsoft .NET Core 1.0.0 - Outils VS 2015 ... et cliquez sur Change
-> Repair
.Dans mon cas, mon mot de passe de connexion a changé, alors que le pool d'applications utilise toujours l'ancien. Il vous suffit donc de cliquer sur les "Paramètres avancés" de votre pool d'applications et de réinitialiser votre "Identité".
Je faisais face au même problème et je l'ai débogué à l'aide des journaux des événements. Premièrement, il a déclaré que: "La description de l'ID d'événement 5059 de la source Microsoft-Windows-WAS est introuvable".
J'ai ensuite activé WAS en utilisant activer/désactiver les fonctionnalités de Windows . Ensuite, j'ai vu cela dans eventvwr "Microsoft-Windows-DistributedCOM est introuvable".
Enfin, j'ai abandonné et supprimé le pool d'applications (qui permettait autrefois d'accéder au site Web) et de le créer à nouveau, tel qu'il est. Cela a résolu le problème.
Pour tous ceux qui viennent ici avec Windows 10 et après les avoir mis à jour pour la mise à jour anniversaire, veuillez vérifier ce lien, cela m’a aidé:
Si le lien tombe: Si le journal des événements indique que aspnetcore.dll n'a pas été chargé, rewrite.dll (le plus souvent, mais il pourrait aussi s'agir d'autres personnes), vous devez réparer les éléments manquants.
Voici deux problèmes spécifiques que nous avons rencontrés jusqu'à présent et comment les résoudre, mais vous pouvez tomber sur des problèmes complètement différents:
"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".
La plupart du temps, cela était dû à AppPool Setting.
Vérifiez les éléments suivants pour résoudre ce problème
Les images suivantes montrent ces paramètres dans IIS
Si vous avez McAfee HIPS et si l'erreur suivante apparaît dans le journal d'application de l'observateur d'événements:
Le module DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll n'a pas pu être chargé.
La donnée est l'erreur.
Ce qui suit a ensuite résolu le problème dans mon cas: https://kc.McAfee.com/corporate/index?page=content&id=KB72677&actp=LIST
Citation de la page:
- Cliquez sur Démarrer, Exécuter, tapez Explorer et cliquez sur OK.
- Accédez à:% windir%\system32\inetsrv\config
- Ouvrez le fichier applicationHost.config en tant qu'administrateur pour le modifier dans le Bloc-notes.
Editez la section <globalModules> et supprimez la ligne suivante:
<add name = "MfeEngine" image = "% windir%\System32\inetsrv\HipIISEngineStub.dll" />Editez la section <modules> et supprimez la ligne suivante:
<add name = "MfeEngine" />- Une fois que vous avez terminé de modifier le fichier applicationHost.config, enregistrez-le, puis redémarrez le serveur IIS à l'aide de iisreset ou en redémarrant le système.
La première fois que j'ai ajouté le service et créé le pool d'applications correspondant. J'ai fait "iisreset" de l'invite de commande, et cela a fonctionné.
J'ai eu un problème similaire. Je l'ai résolu en ajoutant mon utilisateur à la stratégie "Ouvrir une session en tant que tâche" sous "Stratégie de sécurité locale"> "Stratégies locales"> "Attribution des droits de l'utilisateur".
Dans mon cas, j'ai vérifié les journaux des événements et constaté que l'erreur était Impossible de lire le fichier de configuration 'en essayant de lire les données de configuration à partir du fichier' \\?\', Numéro de ligne' 0 '. Le champ de données contient le code d'erreur.
Le code d'erreur était 2307.
J'ai supprimé tous les fichiers de C:\inetpub\temp\appPools et redémarré l'iis. Cela a résolu le problème.
J'ai eu le même problème avec IIS 8.5. Après avoir recherché eventViewer sous windows Logs -> applications, je me suis rendu compte que je rencontrais une erreur d’autorisation pour le fichier machine.config du framework .net situé à l'emplacement "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config ". Donner une permission à IIS_IUSRS a résolu mon problème (clic droit sur le fichier -> propriétés -> sécurité -> éditer -> ajouter -> IIS_IUSRS)
Si vous pouvez exécuter le site Web dans le débogueur Visual Studio, vous pourrez peut-être voir où dans votre code le pool d'applications se bloque. Dans mon cas, c’était une fonction appelée récursivement un nombre illimité de fois, ce qui a provoqué un débordement de pile. Remarque: le journal des événements Windows et les journaux IIS n'étaient pas utiles pour diagnostiquer le problème.
Je rencontrais cette erreur et dans mon cas, la cause en était qu’il ya un certain temps, j’ai modifié le mot de passe de l’utilisateur, et l’erreur 503 ne s’est pas produite avant le redémarrage du pool d’applications.
J'ai donc corrigé le paramétrage du nouveau mot de passe sur les pools d'applications/Paramètres avancés/Identité/[...]/Définir .../Mot de passe/Confirmer le mot de passe
En plus des étapes décrites dans ce lien de la réponse d'Orhan , vous devrez peut-être également supprimer le module natif en allant à IIS Gestionnaire> Racine de serveur> Modules> Configurer les modules natifs. Sélectionnez MfeEngine, puis sélectionnez Supprimer.
J'ai eu un problème similaire, tous mes pools d'applications s'arrêtaient chaque fois qu'une requête Web leur était adressée. Bien que j'obtienne l'erreur suivante dans l'observateur d'événements:
Le processus de travail du pool d'applications 'appPoolName' a rencontré une erreur 'Le fichier de configuration n'est pas un XML bien formé' qui tentait de lire les données de configuration à partir du fichier '\?\C:\inetpub\temp\apppools\appPoolName\appPoolName.config', ligne numéro 3'. Le champ de données contient le code d'erreur.
Ce qui m'a dit qu'il y avait des erreurs dans le application.config à:
C:\Windows\System32\inetsrv\config\applicationHost.config
Dans mon scénario, j'ai édité le fichier web.config lors du déploiement avec un élément IIS que je n'aime clairement pas, le fichier applicationHost.config a mis à jour le fichier web.config et a inséré ce mauvais élément. Il ne sera pas résolu tant que je ne l'ai pas supprimé manuellement.
Changer le "mode pipeline géré" de "classique" en "intégré" a fonctionné pour moi. Il peut être modifié dans les pools d'applications -> Paramètres de base
Il suffit d'ajouter à ces problèmes Anniversary Update
(merci Microsoft) si le fichier qui vous manque est cgi.dll
, c'est-à-dire que votre Event Viewer
a
The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load. The data is the error.
Ensuite, pour résoudre ce problème:
IIS Manager
Connections
(généralement le nom de votre ordinateur).Management
, vous devriez avoir Web Platform Installer
Products
cgi
puis appuyez sur <Enter>
IIS: CGI
puis cliquez sur Add
à droite puis sur Install
en bas.