web-dev-qa-db-fra.com

Comment corriger l'erreur 404.17 sur Win Server 2k8 et IIS7

J'ai installé un nouveau site Web .net 2.0 sur IIS 7 sous Win Server 2k8 et lors de la navigation sur une page, une erreur 404.17 m'est générée, affirmant que le fichier (default.aspx dans ce cas) apparaît script mais est géré par le gestionnaire de fichiers statique. Cela sonne comme les mappages de modules pour ASP.Net se sont égarés, mais ils ont l'air bien dans les configurations. Quelqu'un a-t-il une suggestion pour corriger cette erreur?

19
Scott Mayfield

J'ai eu ce problème sur IIS6 une fois, lorsque les éléments ASP.NET ISAPI étaient en panne.

Fonctionnement 

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 

pour recréer les paramètres pris en charge.

26
Jonathan Rupp

Cette solution a fonctionné pour moi ...

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

1. Localisez votre pool d'applications et faites un clic droit 
 2. Sélectionnez Paramètres de base 
 3. Sélectionnez votre version .Net Framework actuelle 
 4. Redémarrez le pool d'applications. 
11
Zim

Pour moi, cela a fonctionné en procédant comme suit 

Installer ASP.NET

cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
  • Suivant Accédez au gestionnaire IIS et cliquez sur le nœud du serveur (racine).
  • Dans la vue des fonctionnalités, section IIS, ouvrez "Restrictions ISAPI et CGI".
  • Cliquez avec le bouton droit sur la colonne de restriction ASP.NET 4, puis cliquez avec le bouton droit pour autoriser.

J'espère que ça marche pour toi..

6
ESiddiqui

Essayez toujours "Revenir au parent" dans les mappages de gestionnaires en premier.

Je recevais 404.17 lorsque j'essayais d'exécuter ASP.NET 4.0 dans IIS 7.5. J'ai essayé tout ce qui précède et, finalement, j'ai correctement configuré manuellement les mappages de gestionnaires corrects et l'erreur a disparu.

Puis, sur un autre site Web avec la même erreur, j’ai essayé «Revert to Parent» dans Handler Mappings et il a ajouté 6 * .aspx mappings et tout a fonctionné à la perfection. 

De toute évidence, le parent doit être configuré correctement (à l’installation ou autrement), mais c’est certainement la première étape que tout le monde devrait suivre car c’est si simple.

4
Brad

Pour moi, mon problème est dû à un paramètre défini dans le fichier web.config de mon projet (et également à la solution, une fois que j'ai compris le problème).

Dans mon fichier web.config, nous avions ces deux lignes dans la zone system.webServer> 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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Notez que le gestionnaire alternatif a l'attribut 'preCondition = "integratedMode"'. Je devais donc changer mon AppPool pour utiliser Integrated au lieu de Classic pour mon mode pipeline setting (ce qui est le contraire de ce que les solutions ci-dessus m'ont dit de faire).

4
palswim

Pour moi, la solution consistait à cliquer sur "revenir à l'héritage" dans la section Mappages de gestionnaires dans l'application virtuelle.

3
relegated

Pour moi, cela a été résolu en définissant une application 32 bits sur true.

1
genuinebasil

Jusqu'à présent, aucune de ces solutions n'a fonctionné pour moi.

J'ai trouvé quelques autres solutions possibles (qui n'ont pas fonctionné pour moi):

1
palswim

Un seul moyen de résoudre ce problème ...

D'abord installé Windows7 Ensuite, installez IIS 7 avec toutes les fonctionnalités

Et ensuite installé Visual Studio 2008/2010

Je travaille sur Visual Studio 2008 et 2010 mais je n'avais jamais vu cette erreur auparavant.

Je peux aussi essayer sur le PC de mon ami. Et aussi je résous cette erreur.

1
Nilay

Nous devions installer ASP.NET 3.5 et 4.5, extensions ISAPI, filtres ISAPI et inclusions côté serveur, dans le menu Fonctionnalités Windows sous IIS, Fonctionnalités de développement.

Sinon, utilisez la ligne de commande DISM:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
0
Chris

Dans mon cas, aucune des réponses ci-dessus n'a résolu le problème et la raison en était que le module CGI n'était pas installé.

Pour résoudre ce problème, j'ai suivi ces instructions.

https://docs.Microsoft.com/en-us/iis/configuration/system.webserver/cgi

0
Leonardo Allievi

l'activation http sous Services WCF activait/désactivait à son tour les fonctionnalités de Windows qui résolvaient le problème.

0
Naveed Khan

Pour moi, l'activation HTTP n'était pas cochée dans les fonctionnalités du serveur.

0
Andy Jones

Pour moi, cela a travaillé. Installe les sections de configuration de la machine, les gestionnaires, les assemblys, les modules, les protocoles et beaucoup d'autres choses pour que les choses fonctionnent correctement.

0
gapo
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

"J'ai tenté de charger un programme avec un format incorrect ..." avec le framework 32

peut-être malade sauver u une seconde plus googler

0
lior hakim

Ce qui précède n'a pas fonctionné pour moi . Notre serveur est en 64 bits, donc configurer l'application pour permettre aux applications 32 bits de fonctionner pour nous

  • Accédez au serveur Web\Pool d'applications
  • Cliquez avec le bouton droit sur le pool d'applications utilisé par votre site Web.
  • Cliquez sur Paramètres avancés ...
  • Définissez "Activer les applications 32 bits" sur True.

Je pense que c'est parce que l'application Web a été compilée pour 32 bits seulement.

0
tvbusy