157 votes

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

Je reproduis le déploiement d'une application web et j'ai trouvé plusieurs problèmes liés à HTTP Error 500.19 . Ma machine fonctionne Windows 7 alors que le développement en cours utilise Windows 8 . Nous développons notre application Web en utilisant Visual Studio 2010 .

D'abord, j'ai obtenu le code d'erreur 0x80070021 similaire à celui affiché aquí . J'ai mis à jour mon web.config selon la réponse acceptée et j'ai obtenu le code d'erreur suivant (qui est similaire à celui affiché) aquí ).

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

J'ai lu la définition des symptômes dans Page d'assistance de Microsoft et la cause de l'erreur est :

Ce problème se produit parce que le fichier ApplicationHost.config ou le fichier Web.config contient un élément XML malformé.

et la solution est

Supprimez l'élément XML malformé 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 original.

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 les valeurs par défaut de Windows 7.

Voici une 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 messages similaires/dupliqués/fermés (environ 13) dans stackoverflow, j'ai tout essayé sauf la réponse relative à Ajax (est-ce lié) et je n'ai toujours pas d'idée sur la nature de l'erreur.

Quelqu'un sait-il comment réparer cette erreur ? (Et si possible, une liste complète des choses à vérifier afin que nous puissions réduire le nombre de posts similaires comme celui-ci). Je suis prêt à fournir plus de détails.

1voto

David Points 1613

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 à partir de C:\Windows\Microsoft.NET\Framework\v2.0.50727 dans le dossier bin de l'application
  • J'ai fait des commentaires/non-commentaires aux sections du web.config et j'ai trouvé que le problème était lié à la DLL référencée.

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

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Ajoutez la FasterFlect.DLL requise utilisée par Combres.DLL v2.1.0.0 au dossier bin de l'application (vous devez télécharger le zip complet à partir du codeplex de Combres, car la DLL requise fasterflect V2.0.3732.24338 ne peut être trouvée dans le codeplex de fasterflect) et d'autres DLLs. Pour plus de commodité, utilisez le Combres.DLL complet (1,3MB)
  • 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.

1voto

Sabbir Hassan Points 90

Je comprends que cette erreur peut se produire pour de nombreuses raisons différentes. Dans mon cas, c'est parce que j'ai désinstallé le service WSUS de Server Roles et que tout IIS est tombé en panne. Après avoir fait quelques recherches, j'ai découvert que la désinstallation de WSUS supprime quelques dll qui sont utilisées pour la compression http. Puisque ces dlls étaient manquantes et que le IIS les recherchait toujours, j'ai fait une réinitialisation en utilisant la commande suivante dans CMD :

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

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

J'espère que cela aidera d'autres personnes. Salutations

0voto

Jeff Moretti Points 385

Pour moi, il s'agissait de configurer mon serveur web pour qu'il utilise la dernière et la meilleure technologie pour supporter 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 vous aidera :)

0voto

aherocalledFrog Points 506

J'ai eu ce problème avec un tout nouveau service web. Je l'ai résolu en ajoutant un accès en lecture seule pour tout le monde dans Propriétés->Sécurité pour le dossier dans lequel se trouve le service.

0voto

marlar Points 714

J'ai eu exactement la même erreur. Il s'est avéré qu'elle était causée par quelque chose de complètement différent, cependant. Il manquait des droits d'écriture dans un dossier de cache. Mais IIS a signalé l'erreur 0x8007000d, ce qui est très déroutant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X