Il y a un certain nombre d'articles à ce sujet et j'ai déjà essayé beaucoup de choses. Mais en vain. Moi-même un développeur Winforms, j'ai commencé à travailler sur ce truc Web il y a quelques jours alors que mon entreprise prend des initiatives Web.
J'ai un projet ASP.Net et je souhaite l'héberger sur IIS local. Dans les Project properties -> Web
paramètres, j'ai choisi Use Local IIS Server
et donné une URL comme localhost/MyApp
. J'ai essayé d'y accéder sur mon navigateur Firefox et j'ai reçu une erreur commeHTTP Error 503. The service is unavailable.
Auparavant, j'avais beaucoup d'autres erreurs et je les ai toutes corrigées une par une. Mais frappé par celui-ci. Voici les paramètres que j'ai dans mon projet
- Pool d'applications défini sur ASP.Net v4.0 Classic
- La
Enable 32 bit Application
propriété du pool d'applications est vraie - Le pool d'applications est démarré
- Propriété de génération de projet définie sur
Any CPU
pour le cadre cible
Mais je voudrais mentionner un comportement étrange. Voici quelque chose auquel je suis confronté
- Le pool d'applications est démarré
- J'essaye d'accéder à mon site Web local (en donnant l'URL comme
localhost/MyApp
) - Je reçois l'erreur comme
HTTP Error 503. The service is unavailable
- Le pool d'applications est arrêté
J'ai vu le lien suivant et je l'ai déjà essayé. Pour le comportement ci-dessus, je suis arrivé ici . Selon ce lien, le nom de l'ordinateur ne devrait pas y .
figurer. Je n'en ai pas .
dans le nom de mon ordinateur, mais j'en ai -
dedans. Mon nom de domaine contient .
également. De plus, je ne peux pas modifier ces paramètres car c'est mon ordinateur portable de 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.
Éditer
J'ai le code suivant dans Global.asax
. Application_BeginRequest
La méthode 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
Selon les suggestions dans Comment, je suis en mesure d'exécuter le site Web de Cassini.
Enable 32 bit Application
mais utilisez-vous uniquement des DLL 32 bits?Any CPU
. Je pense donc que les DLL utilisées ne devraient pas poser de problème. Veuillez consulter la modification pour le code Global.asax. MerciRéponses:
Cela peut être dû au fait que le pool d'applications dans IIS est configuré pour s'exécuter sous un compte personnalisé et que ce compte n'existe pas ou qu'un mot de passe incorrect a été fourni, ou le mot de passe a été modifié. Regardez les propriétés avancées du pool d'applications dans IIS pour le compte qu'il utilise.
Le journal des événements peut également contenir plus d'informations sur la raison pour laquelle le pool d'applications s'arrête immédiatement à la première demande.
la source
Ok, j'ai une autre solution pour un cas spécifique: si vous utilisez WINDOWS 10 et que vous l'avez mis à jour récemment (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 ENTRÉE.Windows Event Viewer
cliquez surWindows Logs
->Application
.IIS-W3SVC-WP
dans la fenêtre du milieu.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
- recherchez IIS URL Rewrite Module 2 et cliquez surChange
->Repair
aspnetcore.dll
- recherchez Microsoft .NET Core 1.0.0 - VS 2015 Tooling ... et cliquez surChange
->Repair
.la source
The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
J'ai donc installé Select Server Side Included selon cette suggestionPour ma situation, mon mot de passe de connexion a changé, tandis que le pool d'applications utilise toujours l'ancien. Cliquez donc simplement sur "Paramètres avancés" de votre pool d'applications et réinitialisez votre "Identité".
la source
J'étais confronté au même problème et je l'ai débogué à l'aide des journaux d'événements. Tout d'abord, 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 l' activation / la désactivation des fonctionnalités de Windows . Ensuite, j'ai vu cela dans eventvwr "Microsoft-Windows-DistributedCOM ne peut pas être trouvé".
Enfin, j'ai abandonné et supprimé le pool d'applications (qui s'arrêtait auparavant lors de l'accès au site Web) et l'ai créé à nouveau, tel quel. Cela a résolu le problème.
la source
appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
Pour tous ceux qui viennent ici avec Windows 10 et après les avoir mis à jour vers la mise à jour anniversaire, veuillez vérifier ce lien, cela m'a aidé:
https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update
En cas de panne du lien: Si votre journal des événements indique que aspnetcore.dll, rewrite.dll (le plus souvent, mais il pourrait en être d'autres également) n'a pas pu se charger, 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 en rencontrer des complètement différents:
la source
La plupart du temps, cela s'est produit en raison du paramètre AppPool.
Vérifiez les éléments suivants pour résoudre ce problème
Les images suivantes montrent ces paramètres dans IIS
la source
Si vous disposez de McAfee HIPS et si l'erreur suivante s'affiche dans le journal des applications de l'observateur d'événements:
Ensuite, ce qui suit a résolu le problème dans mon cas: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
Citation de la page:
la source
Dans mon cas, j'ai vérifié les journaux des événements et j'ai trouvé 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 dans C: \ inetpub \ temp \ appPools et redémarré le iis. Cela a résolu le problème.
la source
J'ai eu un problème similaire. Je l'ai résolu en ajoutant mon utilisateur à la politique «Ouvrir une session en tant que travail par lots» sous «Politique de sécurité locale»> «Politiques locales»> «Attribution des droits d'utilisateur».
la source
Lorsque j'ajoute le service pour la première fois et que j'en ai créé le pool d'applications. J'ai fait "iisreset" à partir de l'invite de commande, et cela a fonctionné.
la source
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, et cela a provoqué un débordement de pile. Remarque: le journal des événements Windows et les journaux IIS n'ont pas été utiles pour diagnostiquer le problème.
la source
J'ai eu le même problème avec iis 8.5. Après avoir recherché EventViewer sous Windows Logs -> applications, j'ai réalisé que j'avais une erreur d'autorisation pour le fichier machine.config du framework .net situé dans "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config ". Lui donner une autorisation pour IIS_IUSRS a résolu mon problème (clic droit sur le fichier -> propriétés -> sécurité -> modifier -> ajouter -> IIS_IUSRS)
la source
Je rencontrais cette erreur et dans mon cas, la cause était qu'il y a quelque temps, j'ai modifié le mot de passe de l'utilisateur et que l'erreur 503 n'apparaît que lorsque j'ai redémarré le pool d'applications.
Je l'ai donc corrigé en définissant le nouveau mot de passe sur les pools d'applications / Paramètres avancés / Identité / [...] / Définir ... / Mot de passe / Confirmer le mot de passe
la source
J'ai eu un problème similaire, tous mes pools d'applications s'arrêtaient chaque fois qu'une demande Web leur était adressée. Bien que j'obtienne l'erreur suivante dans l'Observateur d'événements:
Ce qui m'a dit qu'il y avait des erreurs dans l'application.config à:
Dans mon scénario, j'ai modifié le web.config lors du déploiement avec un élément que IIS n'aime clairement pas, l'applicationHost.config a gratté le web.config et inséré ce mauvais élément et ne résoudrait pas tant que je ne l'ai pas supprimé manuellement
la source
En plus des étapes décrites sur ce lien de la réponse d'Orhan , vous devrez peut-être supprimer en plus le module natif en accédant à Gestionnaire IIS> Racine du serveur> Modules> Configurer les modules natifs. Sélectionnez MfeEngine, puis sélectionnez Supprimer.
la source
Changer le "Managed Pipeline Mode" de "Classic" à "Integrated" a fonctionné pour moi. Il peut être modifié dans les pools d'applications -> Paramètres de base
la source
Il suffit d'ajouter à ces
Anniversary Update
questions (merci Microsoft) si le fichier que vous manquecgi.dll
, à savoir votreEvent Viewer
aEnsuite, pour résoudre ce problème:
IIS Manager
Connections
panneau (généralement le nom de votre PC)Management
, vous devriez avoirWeb Platform Installer
Products
cgi
puis appuyez sur<Enter>
IIS: CGI
puis cliquezAdd
à droite et enfinInstall
en basla source
Cette réponse vous aidera-t-elle?
Si vous recevez le message suivant dans EventViewer
Alors oui cela résoudra votre problème
Pour vérifier votre visionneuse d'événements
eventvwr
puis appuyez sur ENTRÉE.Windows Event Viewer
clic surWindows Logs
->Application
.IIS-W3SVC-WP
dans la fenêtre du milieu.si vous recevez le message d'erreur précédent, la solution est:
Installez Microsoft Visual C ++ 2015 Redistributable 86x AND 64X (les deux)
La source
la source