HTTP 404 lors de l’access au fichier .svc dans IIS

J’ai récemment créé un service WCF qui fonctionne correctement lorsqu’il est testé à partir de Visual Studio 2008. Mais lorsque je déploie le projet sur IIS et que j’essaie d’accéder au fichier .svc à partir d’IIS, j’obtiens cette erreur:

"Server Error in '/' Application.The resource cannot be found. " 

J’ai ce problème depuis 4 jours.

Dans le gestionnaire de mappages du gestionnaire IIS, je peux voir deux entrées pour .svc:

 svc-Integrated and svc-ISAPI-2.0 

Vous devez append un mappage pour l’extension SVC à ASP.NET. La méthode la plus simple consiste à exécuter ServiceModelReg.exe -i partir de C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation. Vous devrez peut-être également activer ASP.NET si vous ne l’avez pas déjà fait.


Si vous utilisez Windows Server 2012, suivez ces instructions à la place:

  • WCF sur IIS8; Le mappage du gestionnaire * .svc ne fonctionne pas

Qu’est-ce qui a fonctionné pour moi, sur Windows 2012 Server R2:

WCF HTTP 404

Merci à “Aaron D”

J’ai trouvé ces instructions sur un article de blog indiquant cette étape, qui a fonctionné pour moi (Windows 8, 64 bits):

Assurez-vous que dans les fonctionnalités Windows, vous avez coché les deux options WCF sous .Net Framework. Donc, allez à Panneau de configuration -> Programmes et fonctionnalités -> Activer / désactiver les fonctionnalités Windows -> Fonctionnalités -> Ajouter des fonctionnalités -> Fonctionnalités .NET Framework XX. Assurez-vous que le framework .Net indique qu’il est installé et assurez-vous que le nœud Activation WCF sous celui-ci est sélectionné (case à cocher cochée) et que les deux options sous Activation WCF sont également cochées.

  Ceux-ci sont:
 * Activation HTTP
 * Activation non HTTP
 Les deux options doivent être sélectionnées (case cochée). 

Je vois que vous avez déjà résolu votre problème – mais pour la postérité:

Nous avons eu un problème similaire et le gestionnaire SVC était déjà correctement installé. Notre problème était les demandes de traitement du gestionnaire ExtensionlessUrl avant qu’elles n’atteignent le gestionnaire SVC.

Pour vérifier cela – dans Handler Mappings dans IIS Manager au niveau du serveur Web, affichez la liste des gestionnaires dans l’ordre (c’est une option sur le côté droit). Si les différents gestionnaires ExtensionlessUrl apparaissent au-dessus des gestionnaires SVC, déplacez-les vers le bas jusqu’à ce qu’ils soient en bas.

Vérifie que votre répertoire a été converti en application est votre IIS.

J’ai eu le même problème aujourd’hui.

Pour moi, la solution consistait à accéder à IIS, à cliquer avec le bouton droit sur le nouveau nom du site Web, à sélectionner Propriétés, ASP.Net et à modifier la version ASP.Net à partir de “1.1.4322” (définie par défaut). à 2.0.50727.

Une fois cela fait, je peux cliquer avec le bouton droit sur le fichier .svc, cliquer sur “Parcourir” et voir la page Web du service.

Cela peut également devenir un problème après l’activation de la compatibilité de gestion IIS 6 dans Windows 10. Définition de la structure L’activation HTTP sous Services WCF résoudra le problème.

Dans mon cas, l’erreur était due à des parameters de mappage incorrects dans le fichier applicationhost.config (\ System32 \ inetsrv \ config). Pour une raison quelconque, Visual Studio 2013 l’a corrompu lors de la création d’un répertoire virtuel dans IIS. La solution consistait à modifier manuellement la section des sites dans le fichier.

Il existe 2 versions du framework .net données sous les fonctionnalités add role / features dans server 2012

une. 3.5

b. 4.5

Selon le framework utilisé, vous pouvez activer l’ activation HTTP sous les services WCF. 🙂

Dans mon cas, Win 10. le fichier applicationHost.config est corrompu par VS 2012. Et vous pouvez obtenir la copie de l’historique de ce fichier sous C: \ inetpub \ history. Puis redémarrez IIS et cela fonctionne correctement.