Question

Cela rend toute l’équipe folle. Il doit y avoir une simple partie mal configurée d’IIS ou de notre serveur Web, mais chaque fois que nous essayons d’exécuter Application Web ASP.NET sur IIS 7.5, nous obtenons l’erreur suivante ...

Voici l'erreur complète:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration  
data for the page is invalid.

`Detailed Error Information` 
Module              IIS Web Core
Notification        Unknown
Handler             Not yet determined
Error Code          0x8007000d
Config Error
Config File         \\?\E:\wwwroot\web.config
Requested URL       http://localhost:80/Default.aspx
Physical Path 
Logon Method        Not yet determined
Logon User          Not yet determined
Config Source
   -1: 
    0: 

La machine exécute Windows Server 2008 R2 . Nous développons notre application Web à l'aide de Visual Studio 2008 .

Selon Microsoft, le code 8007000d signifie qu'il existe une erreur de syntaxe dans notre fichier web.config - à l'exception du projet construit et exécuté correctement localement. Regarder le web.config dans XML Notepad ne fait apparaître aucune erreur de syntaxe non plus. Je suppose que cela doit être une sorte de mauvaise configuration de ma part ...?

Est-ce que quelqu'un sait où je pourrais trouver d'autres informations sur l'erreur? Rien ne s'affiche dans EventViewer, que ce soit: (

Vous ne savez pas quoi d'autre pourrait être utile de mentionner ...

L’assistance est grandement appréciée. Merci!

MISES À JOUR! - PUBLIC WEB.CONFIG CI-DESSOUS

OK, puisque j'ai posté la question initiale ci-dessus, j'ai repéré les lignes précises dans le web.config qui étaient à l'origine de l'erreur.

Voici les lignes (elles apparaissent entre <System.webServer> balises) ...

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpHandlers>

Remarque: si je supprime les lignes entre et le <httpHandlers> j'obtiens encore l'erreur. Je dois littéralement supprimer <system.webServer> (et les lignes entre les deux) pour ne plus avoir l'erreur ci-dessus.

Une fois que cela est fait, le message d'erreur new 500.19 s'affiche. Heureusement, cette fois, IIS me dit quel bit de web.config pose problème ...

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>

En regardant ces lignes, il est clair que le problème a migré plus avant dans la même balise <handlers> vers la balise <=>.

La nouvelle erreur est également plus explicite et se plaint spécifiquement de ne pas reconnaître l'attribut & "valider &"; (comme on le voit sur la troisième ligne ci-dessus). En supprimant cet attribut, on se plaint alors que la même ligne ne possède pas le & Quot; nom & Quot; requis; attribut. L'ajout de cet attribut entraîne alors l'apparition de ASP.NET erreur ...

.
  

Impossible de charger le fichier ou l'assembly   'System.web.Extensions,   Version = 1.0.61025.0, Culture = neutre,   PublicKeyToken = f2cb5667dc123a56 'ou   une de ses dépendances. Le système   impossible de trouver le fichier spécifié.

Évidemment, je pense que ces nouvelles erreurs viennent de découler de la suppression des balises <=> - elles sont évidemment nécessaires à l'application - la question demeure donc: pourquoi ces balises lancent une erreur dans IIS en premier lieu ???

Dois-je installer quelque chose sur IIS pour que cela fonctionne avec eux?

Merci encore pour toute aide.

WEB.CONFIG

Voici les éléments gênants de notre web.Config ... J'espère que cela aidera quelqu'un à trouver notre problème!

<system.Web>

<!-- stuff cut out -->

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpModules>
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </modules>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>
</system.webServer>
Était-ce utile?

La solution 3

Aha! J'ai vaincu ce problème! Mon dieu, c'était une bête pour quelqu'un comme moi avec une expérience limitée d'IIS. Je pensais vraiment que je passerais tout le week-end à le réparer.

Voici la solution pour tous ceux qui rencontrent ce problème pervers.

Tout d’abord, sachez que si vous espérez que ce sera votre solution, assurez-vous d’avoir le même code d’erreur ( 0x8007000d ) et le code source Config ( -1: 0 : ). Sinon, ce n'est pas votre solution.

La prochaine chose à savoir: AJAX n'est pas correctement installé dans votre configuration Web!

Corrigez-le en suivant ce guide:
http: // www .asp.net / AJAX / documentation / live / Configuration de ASPNETAJAX.aspx

Ensuite, installez les extensions AJAX 1.0 sur votre serveur de production, à partir de ce lien:

  

http://www.asp.net/ajax/downloads/archive/
   Mise à jour : Microsoft semble avoir supprimé la page ci-dessus: (

C'est tout!

Autres conseils

J'avais ces symptômes exacts et mon problème était semblable à celui de Peter. Établissait un projet existant sur un nouveau serveur. Mon projet faisait référence au module de réécriture d'URL IIS7, mais cela n'avait pas encore été installé sur le nouveau serveur. L’installer a corrigé mon problème.

Vous pouvez utiliser le programme d'installation de la plate-forme Web Microsoft pour l'installer. Exécutez-le, sélectionnez Produits , dans le menu de gauche, sélectionnez Serveur , recherchez Réécriture d’URL dans la liste et installez-le.

Vous pouvez également le télécharger ici .

Après avoir lutté pendant une journée avec cette nouvelle machine, je suis tombé sur les liens suivants. Il me manquait les modules de réécriture. Cela a tout corrigé.

http://forums.iis.net/t/1176834.aspx

http://learn.iis.net /page.aspx/460/using-the-url-rewrite-module/

Vous avez eu le même problème que ci-dessus, le même code d'erreur, etc. Configuration d'un site Web local sous Windows 8. Après de nombreuses recherches, il nous est apparu qu'il nous manquait la réécriture d'URL. Après le téléchargement, tout allait bien. :)

Même problème sur Server 2016, erreur IIS 10, 500.19. J'ai installé le module de redirection et cela a fonctionné. Je ne sais pas pourquoi cela n'a pas été inclus par défaut.

https://www.iis.net/downloads/microsoft/url- réécrire # additionalDownloads

Soyons clairs, il semble que le script Web.config de IIS 7 fonctionne ou est conçu pour fonctionner, mais l’absence de ce module donne une erreur vraiment étrange et inutile. Googling vous amène à une page Microsoft qui insiste sur le fait que votre site est corrompu ou que votre web.config est corrompu. Ni semble être le cas.

Cette page inutile est ici: https://support.microsoft.com/en- us / kb / 942055

Je viens d'ajouter une réponse parce que j'ai passé des heures à essayer de résoudre les mêmes symptômes (mais un problème différent):

Une cause possible est une DLL x86 dans un pool d'applications 64 bits. La solution consiste à activer les applications 32 bits dans les paramètres du pool d'applications.

Pour moi, ré-enregistrer asp.net pour iis a fait l'affaire. Espérons que cela aide quelqu'un d'autre.

aspnet_regiis.exe -i

Pour résumer en fonction des réponses fournies ici et ailleurs:

  1. Vérifiez la version .NET du pool d'applications (par exemple 2.0 vs 4.0)
  2. Vérifiez que tous les modules référencés IIS sont installés. Dans ce cas, il s’agissait des extensions AJAX (ce n’est probablement plus le cas de nos jours), mais la Réécriture d’URL est courante.

Un autre moyen d'obtenir le code d'erreur 500.19 sans raison apparente consiste à utiliser des répertoires manquants ou des autorisations brisées.

Dans le cas de cette question, je pense que la question concerne la version complète d'IIS. Je suppose cela à cause de cette ligne:

Config File         \\?\E:\wwwroot\web.config

Le programme d'installation IIS crée généralement le wwwroot pour vous. Il s'agit du dossier racine par défaut pour tous les sites Web et du point de montage pour les répertoires virtuels. Cela existe toujours, alors pas de problème, vous n’aurez généralement pas à vous en soucier.

Les fichiers web.config étant hiérarchiques, vous pouvez y placer un fichier maître web.config et y définir des paramètres racine. Tous les sites en hériteront. IIS vérifie si ce fichier existe et essaie de le charger.

Cependant, première partie amusante:

Ce répertoire existera si IIS est correctement installé. S'il n'existe pas, vous obtiendrez une erreur de 500 classes. Toutefois, si vous jouez avec des autorisations de fichier / répertoire, en particulier "avancées", vous pouvez accidentellement interdire le compte de service IIS d'analyser / de lire le contenu de ce répertoire. Si IIS ne peut pas vérifier si wwwroot \ web.config existe, ou s'il existe et qu'IIS ne peut pas ouvrir &, Lisez-le - bam - erreur de classe 500.

Cependant, pour IIS complet, il est très peu probable. Les développeurs / administrateurs travaillant avec IIS complet hésitent généralement à jouer avec Documents et restent donc correctement configurés.

Cependant, sur IIS Express ..

En règle générale, IIS Express & "fonctionne uniquement &" ;. Souvent, les développeurs qui utilisent IIS Express ne savent pas à quel point en interne cela ressemble au vrai IIS.

Vous pouvez facilement tomber sur le fait qu'IIS Express a son propre fichier applicationHost.config et que VS le crée et le gère pour vous (correctement, dans une certaine mesure), et ce genre de révélateur vous dit que ce n'est pas si simple. et pointer-cliquer comme il semble au premier abord.

En plus de ce fichier de configuration, VisualStudio crée également une structure de répertoire vide sous votre dossier <=>. Si je me souviens bien, IIS Express considère que ces dossiers sont les répertoires racine de vos sites Web sur lesquels sont des répertoires virtuels contenant votre code.

Plus tard, tout comme IIS, lors du démarrage d'IIS Express, il s'attend à ce que ces dossiers existent et recherche les fichiers Web.config racine à cet emplacement. Les fichiers site web.config . Presque toujours, ces fichiers web.config sont manquants - ce qui est normal car vous ne les souhaitez pas - vous avez votre ** application web.config & Quot ;, ils sont placés avec le reste du contenu dans des répertoires virtuels.

La deuxième partie amusante est la suivante: IIS Express s'attend à que ces répertoires vides. Ils peuvent être vides, mais ils doivent exister. S'ils n'existent pas, vous obtiendrez une erreur de 500 classes vous indiquant que & "Web.config &"; Il est impossible d'accéder au fichier situé sur ce chemin.

La première fois que je me suis heurté à ce problème, c’était en nettoyant mon disque dur. J'ai découvert ce dossier 'documents \ sites Web', plein de corbeille, j'ai reconnu plusieurs projets vieux de plusieurs années sur lesquels je ne travaille plus, tous vides, pas un seul fichier, alors je les ai tous supprimés. Une semaine plus tard - bam - je ne peux pas exécuter / déboguer aucun des sites sur lesquels je travaillais en ce moment. Erreur était 500.19, impossible de lire le fichier de configuration.

Ainsi, si vous utilisez IIS Express et constatez une erreur de classe 500 concernant la lecture de la configuration, vérifiez attentivement le message d'erreur et lisez tous les chemins mentionnés. Si vous voyez quelque chose comme:

c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..

Allez là où l'erreur indique, assurez-vous que ces dossiers existent, assurez-vous que le compte du travailleur IIS peut les parcourir et les lire, et si vous remarquez que quelque chose ne va pas, c'est peut-être ce qui se passera.

BTW. Dans VisualStudio, sur ProjectProperties / Web, un bouton & "Créer un répertoire virtuel &"; Il fait essentiellement cela, donc vous pouvez l'essayer en premier, mais l'IIRC peut aussi parfois effacer / écraser / permuter les sections de configuration dans applicationHofichier st.config, soyez donc prudent avec ce bouton si vous avez des configurations personnalisées.

Dans mon cas, il y avait un problème avec l'installation de l'ensemble d'hébergement .NET Core Windows.

Je l'avais installé et j'avais redémarré IIS en utilisant (& "net stop était / y &" et & "net start w3svc &") après l'installation, mais j'obtiendrais cette erreur 500.19 avec le code d'erreur 0x8007000d et la source de configuration -1: 0:.

J'ai réussi à résoudre le problème en réparant l'installation du pack d'hébergement Windows .NET Core et en redémarrant IIS à l'aide des commandes que j'ai mentionnées ci-dessus.

J'espère que cela aide quelqu'un!

Cela peut être lié ou non. J'ai commencé avec la même erreur que celle mentionnée ci-dessus, commencé à googler, à apporter des modifications, à obtenir de nouvelles erreurs, à une boucle sans fin.

Le changement qui m'a provoqué par cette erreur concernait la délégation de fonctionnalités dans le Gestionnaire IIS dans la section Gestion du serveur. Je suis désolé, je ne me souviens plus lequel j'ai changé, mais googler pourrait vous aider.

Cela m'a permis de dépasser la première erreur et d'entrer dans un tout nouveau flux d'autres, certains totalement absurdes. (J'obtiendrais une erreur lors de l'exécution sous un répertoire virtuel, le convertir en une application produirait une autre erreur, etec, etc.). Ce qui a finalement résolu cette série d’erreurs a été: Gestionnaire IIS, pools d'applications, DefaultAppPool, Activer les applications 32 bits = True

J'avais démarré cette application sur une boîte Windows XP 32 bits et je l'exécute maintenant sur une boîte Windows 7 64 bits.

J'espère donc que cela aidera quelqu'un d'autre.

Mon IIS 7.5 ne comprend pas la balise dans web.config Dans VS 2010, cette balise est également soulignée. Vérifiez votre fichier de configuration avec précision pour trouver toutes les balises soulignées. Je le mets dans le commentaire et l'erreur disparaît.

Commentez les lignes suivantes dans le fichier web.config.

<modules>
    <!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>

<handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>

Cela fonctionnera.

J'ai eu la même erreur. J'avais un site IIS avec .net Framework version 2.0, mais mon application avait besoin de 4.0. J'ai changé la version et cela a fonctionné.

Publiez simplement un rappel si quelqu'un pouvait avoir le même problème.

Cette belle erreur détaillée est toujours présente en 2019! Je veux juste ajouter que si votre web.config est valide et accessible, il s'agit probablement d'un problème de dépendance .

Comme mentionné par l’opérateur, il s’agissait d’un module AJAX, et comme d’autres généralement du module Rewrite. Gardez simplement les yeux ouverts dans votre fichier web.config aux modules et aux bibliothèques auxquels vos balises font référence, car le code d'erreur 0x8007000d peut concerner TOUTES les dépendances .

Dans mon cas, je ne savais pas que le AspNetCore paquet manquait et devait être installé! Tellement heureux que j'ai trouvé ce post!

J'ai eu le même problème sous Windows 7.

La solution consistait à accéder aux paramètres de base > connectez-vous en tant que > utilisateur spécifique - et connectez-vous en tant qu'utilisateur, au lieu de la "transmission directe" par défaut

Cela a résolu le problème pour moi.

Windows 7

Essayez ceci,

lancer cmd en tant qu'administrateur.

Annulez tous les iis.

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

Réinstallez iis et normalement son travail

Alain

J'ai eu cette erreur en plaçant la balise <customErrors> à l'intérieur de <system.webServer> au lieu de <system.web> à laquelle elle appartient. Il y avait un petit gribouillis sous la balise <=> mais je ne l'ai pas remarqué tout de suite.

Assurez-vous que toutes vos fonctionnalités IIS sont correctement activées.

  • Ouvrir Fonctionnalités Windows (activer ou désactiver des fonctionnalités Windows).
  • Faites défiler jusqu'à Internet Information Services

  • Ouvrez la liste déroulante World Wide Web plus

  • Ouvrez le menu déroulant Fonctionnalités de développement d'applications plus
  • Cochez manuellement toutes les cases suivantes, puis cliquez sur ok

 entrer la description de l'image ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top