web-dev-qa-db-fra.com

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

Je suis en train de répliquer 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 alors que le développement en cours utilise Windows 8. Nous développons notre application Web à l'aide de Visual Studio 2010.

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

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 de support technique Microsoft et la cause de l'erreur est la suivante: 

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 fichier 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. Définir 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 messages similaires/en double/fermés (environ 13) dans stackoverflow, j'ai tout essayé sauf la réponse relative à Ajax (est-il lié) et n'ai toujours aucune idée de l'erreur.

Quelqu'un at-il un moyen de corriger 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.

71
David

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

Il suffit d'installer 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.

188
Tomas Kubes

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
21
max

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

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

20
Adrian Carr

Installer la réécriture d'URL:

UPDATE - ceci est maintenant disponible ici (et fonctionne avec IIS 7-10):

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

Assurez-vous que les options suivantes sont définies sur 'Autorisé' pour votre serveur IIS:

enter image description here

17
Chris Halcrow

Je suis un peu en retard pour la fête ici, mais je viens juste de me débattre avec le même problème (symptômes) et de maudire le manque de rapports détaillés sur les erreurs. Cela a bien fonctionné sur IIS 8+ machines, mais Win 7 a eu ces erreurs INSTANT HTTP 500.19 . Pour moi, c’était aussi ridicule que de disposer d’un élément de configuration non pris en charge dans le fichier de configuration:

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

Ainsi, alors que d’exécuter d’anciens fichiers web.config fonctionnaient correctement, je les ai simplement différenciés et 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 choisi cette voie immédiatement car je savais qu'aucune des solutions populaires n'était pertinente. Alors voilà :)

5
barbatron

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

  • Activer 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/commentaires sur les sections de web.config et trouvez 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 fichier FasterFlect.DLL requis utilisé par Combres.DLL v2.1.0.0 au dossier bin de l’application (vous devez télécharger le fichier Zip complet à partir du codeplex de Combres, car le fichier plus rapide requis DLL V2.0.3732.24338 ne se trouve pas dans plus rapide. codeplex) et d’autres DLL. Pour plus de commodité, utilisez le fichier Combres.DLL complet (1,3MB)
  • Vérifiez que les versions DLL et les jetons de clé publique sont configurés correctement dans web.config à l'aide de tool, par exemple. Réflecteur .NET
1
David

J'active le service avancé .NET Framework 3.5 et 4.5 dans le Panneau de configuration-> Programmes et fonctionnalités-> Activer ou désactiver les fonctionnalités Windows. Il fonctionne pour moi.

1

Je comprends que cette erreur peut se produire pour différentes raisons. Dans mon cas, c’est parce que j’ai désinstallé le service WSUS de Server Roles et que l’ensemble IIS est tombé en panne. Après avoir fait quelques recherches, j'ai découvert que la désinstallation de WSUS supprime quelques dll utilisées pour la compression http. Étant donné que ces dll étaient manquantes et que IIS les cherchait 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 aussi faire "iisreset". Au cas où.

J'espère que ça aide les autres .

1
Sabbir Hassan

Dans mon cas (.Net Core Web API) pour ce problème Erreur HTTP 500.19 - Erreur de serveur interne 0x8007000d

Commencez par télécharger dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) ou dotnetcore 2 sous Windows, puis installez-le en tant qu'administrateur. Ouvrez cmd en tant qu'administrateur.

Alors actualisez votre application localhost

Cordialement, M.M.Tofighi d'Iran

1
persi man

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 le service se trouvait.

0
aherocalledFrog