ASP.NET: Erreur HTTP 500.19 - Erreur de serveur interne 0x8007000d

115

Je réplique le déploiement d'applications Web et j'ai trouvé plusieurs problèmes liés à HTTP Error 500.19. Ma machine exécute Windows 7 tandis que le développement en cours utilise Windows 8 . Nous développons notre application Web à l'aide de Visual Studio 2010 .

Tout d'abord, j'ai reçu un code d'erreur 0x80070021, similaire à celui publié ici . Je mets à jour mon web.config en fonction de la réponse acceptée, puis j'ai reçu le code d'erreur suivant (qui est similaire à celui publié ici ).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

J'ai lu la définition des symptômes sur la page de support Microsoft et la cause de l'erreur est:

Ce problème se produit car le fichier ApplicationHost.config ou le fichier Web.config contient un élément XML mal formé.

et la solution est

Supprimez l'élément XML mal formé du fichier ApplicationHost.config ou du fichier Web.config.

Cependant, le web.config que j'ai utilisé fonctionne parfaitement dans l'environnement de développement d'origine.

Voici ce que j'ai vérifié et essayé jusqu'à présent:

  1. Installez ASP.NET en appelant aspnet_regiis -i
  2. Configurer mon application pour utiliser un pool d'applications différent (ASP.NET v4.0, .NET v4, etc.)
  3. Le fichier ApplicationHost.config utilise toujours la valeur par défaut de Windows 7.

Cela fait partie de mon Web.Config

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

J'ai lu des articles similaires / dupliqués / fermés (environ 13) dans stackoverflow, j'ai tout essayé sauf la réponse liée à Ajax (est-elle liée) et je n'ai toujours aucune idée de l'erreur.

Quelqu'un peut-il résoudre cette erreur? (Et si possible, une liste complète de choses doit être vérifiée afin que nous puissions réduire les messages similaires comme celui-ci.) Je suis prêt à fournir plus de détails.

David
la source
Je viens de résoudre ce problème. Bien que l'erreur pointe vers le fichier web.config, cela peut également être un problème avec appsettings.config. Si l'un ou l'autre est mal formé, vous obtiendrez la même erreur.
PGardockiDotNet

Réponses:

273

L'erreur 0x8007000d signifie que le module de réécriture d'URL (référencé dans web.config) est manquant ou qu'une version appropriée n'est pas installée.

Installez simplement le module de réécriture d'URL via le programme d'installation de la plate-forme Web.

Je recommande de vérifier toutes les dépendances de web.config et de les installer.

Tomas Kubes
la source
23
J'aurais aimé qu'IIS donne un message d'erreur plus descriptif, s'il avait dit "Module non reconnu: UrlRewritingNet" J'aurais économisé deux heures ce matin. +1 pour mettre fin à ma douleur :)
AlexFoxGill
17
Merci. Ajout de "Url Rewrite 2.0" via Web Platform Installer puis corrigé.
Cihan Yakar
J'ai eu le même problème, j'ai passé des siècles à regarder des fichiers XML «corrompus» jusqu'à ce que je tombe sur ce commentaire mentionnant le module de réécriture d'URL. C'était suffisant pour me rappeler d'avoir résolu exactement la même chose il y a quelques mois! (Je l'écris cette fois) Merci!
anton
4
Bien, même Web Platform a dit qu'il a été "installé", cependant, il ne s'affiche pas dans l'IIS, je vais ici iis.net/downloads/microsoft/url-rewrite , téléchargez la version appropriée, supprimez l'actuel et re installez, fermez IIS et redémarrez IIS, maintenant je peux voir "URL Rewrite".
Box Very
Merci beaucoup. Cette réponse a sauvé ma journée. J'ai installé la `` réécriture d'URL '' via le programme d'installation de la plate-forme Web sur IIS 10, le serveur Windows 2016 et l'erreur a disparu.
Anil Gupta
34

En essayant de configurer un site Web .NET Core 1.0, j'ai eu cette erreur et j'ai essayé tout ce que j'ai pu trouver sans succès, y compris la vérification du fichier web.config, les autorisations IIS_IUSRS, le module de réécriture d'URL IIS, etc. installé DotNetCore.1.0.0-WindowsHosting.exe à partir de cette page: https://www.microsoft.com/net/download et il a commencé à fonctionner immédiatement.

Lien spécifique à télécharger: https://go.microsoft.com/fwlink/?LinkId=817246

Adrian Carr
la source
4
Merci mec! C'est ce dont j'ai besoin pour mes applications principales. Ceux qui veulent savoir comment héberger des sites Web principaux dans iis, vous pouvez aller à docs.microsoft.com/en-us/aspnet/core/publishing/iis
muhihsan
1
C'est pour toutes les versions de Core, pas seulement 1.0. (Core doit être installé sur le serveur.)
Patrick
1
Cela fonctionne pour moi après avoir essayé tout le reste. Merci.
Andrew
pour obtenir la dernière version, vous pouvez aller ici docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…
Leonard AB
1
Merci pour cela, j'ai pu le faire fonctionner en exécutant une réparation de mon installation DotNetCore.
Shane le
21

Dans mon cas, comme j'avais réinstallé iis, je devais enregistrer iis avec dot net 4 en utilisant cette commande:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
max
la source
21

Installez la réécriture d'URL:

MISE À JOUR - ceci est maintenant disponible ici (et fonctionne avec IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

Assurez-vous que le paramètre suivant est défini sur «Autorisé» pour votre serveur IIS:

entrez la description de l'image ici

Chris Halcrow
la source
Merci pour le lien! J'ai installé cela à partir des fonctionnalités Ajouter / Supprimer, mais cela ne l'a pas résolu. Seul le téléchargement à partir de ce lien fonctionnait.
Luke
5

Un peu tard à la fête ici, mais je viens de me débattre avec exactement le même problème (symptômes) et maudire le manque de rapport détaillé des erreurs. Cela a bien fonctionné sur les machines IIS 8+, mais Win 7 a obtenu ces erreurs HTTP 500.19 INSTANTANÉES. Pour moi, c'était aussi ridicule que d'avoir un élément de configuration non pris en charge dans le fichier de configuration:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Ainsi, tout en exécutant d'anciens fichiers web.config fonctionnait bien, je les ai simplement modifiés et j'ai commencé à découper de nouveaux blocs jusqu'à ce que la page commence à se charger. Si j'avais vu cela comme une réponse, j'aurais emprunté cette voie immédiatement car je savais qu'aucune des solutions populaires n'était pertinente. Alors voilà :)

barbatron
la source
C'était mon problème. Merci!
Erik W
J'ai aussi eu ce problème. Merci!
José Margaça Lopes
4

Dans mon cas (.Net Core Web API) pour ce problème HTTP Error 500.19 - Internal Server Error 0x8007000d

Commencez par télécharger dotnet-hébergement-3.0.0-preview5-19227-01-win (.Net Core 3) ou dotnetcore 2 hâtant Windows

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

Toute application .net core 3.1, angulaire ou mvc, en aurait besoin.

Deuxième installez-le en tant qu'administrateur Ouvrez cmd en tant qu'administrateur, tapez iisreset, appuyez sur Entrée

Alors actualisez votre application localhost

Cordialement MMTofighi d'Iran

homme persi
la source
1

Problème résolu. Voici les étapes que j'ai essayées:

  • Activez l'application 32 bits dans IIS -> Pool d'applications -> Paramètres avancés
  • Copiez System.EnterpriseServices.dll et System.EnterpriseServices.Wrapper.dll de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 dans le dossier bin de l'application
  • Faites des commentaires / décommentations aux sections sur le web.config et avez trouvé ce problème lié à la DLL référencée.

La config que j'ai commentée la précédente que j'ai ajoutée:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Ajoutez le FasterFlect.DLL requis utilisé par Combres.DLL v2.1.0.0 au dossier bin de l'application (télécharger le zip complet à partir du codeplex Combres, car la DLL plus rapide requise V2.0.3732.24338 ne peut pas être trouvée dans le codeplex plus rapide) et d'autres DLL. Pour plus de commodité, utilisez le fichier Combres.DLL complet (1,3 Mo)
  • Vérifiez que les versions de DLL et les jetons de clé publique sont correctement configurés dans web.config à l'aide d'un outil, par exemple .NET Reflector
David
la source
1

Je comprends que cette erreur peut se produire pour de nombreuses raisons différentes. Dans mon cas, c'était parce que j'avais désinstallé le service WSUS des rôles de serveur et que tout l'IIS était tombé en panne. Après avoir fait un peu de recherche, j'ai trouvé que la désinstallation de WSUS supprime quelques dll qui sont utilisées pour effectuer la compression http. Étant donné que ces dll étaient manquantes et que l'IIS les recherchait toujours, j'ai effectué une réinitialisation à l'aide de la commande suivante dans CMD:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

Bingo! Le problème est réglé maintenant. N'oubliez pas de l'exécuter en tant qu'administrateur. Vous devrez peut-être également faire "iisreset". Au cas où.

J'espère que cela aide les autres. À votre santé

Sabbir Hassan
la source
1

J'active .Net Framework 3.5 et 4.5 Advance Service dans Control Panel-> Programs and Features-> Turn Windows features on or off.it fonctionne pour moi.

Ahmadreza Farrokhnejad
la source
1

Une réparation du pack d'hébergement DotNetCore a fait l'affaire pour moi. : /

IAmCoder
la source
0

J'ai eu ce problème avec un tout nouveau service Web. Résolu le problème en ajoutant un accès en lecture seule pour Tout le monde sur Propriétés-> Sécurité pour le dossier dans lequel se trouvait le service.

aherocalledGrenouille
la source
-1

Pour moi, il s'agissait de configurer mon serveur Web pour utiliser les dernières et meilleures technologies pour prendre en charge mon application ASP.NET 5!

L'URL suivante m'a donné tous les conseils dont j'avais besoin:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

J'espère que cela t'aides :)

Jeff Moretti
la source
2
Pouvez-vous décrire certains des points importants contenus dans le lien? De cette façon, la réponse peut rester utile si le lien est rompu ou indisponible.
mhatch