web-dev-qa-db-fra.com

Comment résoudre une erreur "Erreur HTTP 404.3 - Introuvable"?

Problème simple. Je démarre VS2008 et crée une nouvelle application de service WCF. Cela créera une application par défaut avec quelques méthodes de test montrant que cela fonctionne. J'appuie sur CTRL + F5 et ça marche bien! Génial! Cependant, il utilise le serveur de développement Visual Studio, que je ne veux pas prendre en charge.

Je vais donc dans les propriétés du projet, je passe à l'utilisation d'un serveur local IIS Web, je crée le répertoire virtuel et j'appuie à nouveau sur CTRL + F5. Et cette erreur "Erreur HTTP 404.3 - Introuvable" salue Je reviens.

Donc, quelque chose dans ma configuration IIS7/Vista-64 est incorrect. Que pourrais-je manquer?

20
Wim ten Brink

Cliquez sur Démarrer -> Exécuter cmd et tapez:

cd "\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
ServiceModelReg.exe -i
26
bendewey

Si vous avez rencontré ce problème pour la première fois. avec Windows 8 et IIS 8.0 assurez-vous d'activer Windows Communication Foundation HTTP Windows).

  1. Allez dans le panneau de configuration, sélectionnez "Programmes et fonctionnalités"
  2. Dans le menu de l'ascenseur, sélectionnez "Activer ou désactiver les fonctionnalités Windows".
  3. Développez ". Net Framework 3.5 (inclut .NET 2.0 et 3.0)" élément
  4. Enfin, sélectionnez "Activation HTTP de Windows Communication Foundation"
  5. Profitez de votre WCF Servcie.
24

Le problème, cependant, est alors de réenregistrer ASP.Net sur IIS, ce qui est expliqué ci-dessous.

Et aussi si vous êtes sur une machine 64 bits, utilisez toujours les chemins Framework64: C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -iru

Voici l'explication de Microsoft:

http://download.Microsoft.com/download/0/A/E/0AEB3BC1-506E-4954-8AB1-4FA2EE75985C/ReleaseNotes.docx

Lorsque vous tentez d'exécuter un service qui reçoit des messages via le transport HTTP, vous pouvez recevoir une erreur similaire à la suivante:

Erreur de serveur dans l'application '/ WCFApplication'

Impossible de charger le type "System.ServiceModel.Activation.HttpModule" à partir de l'assembly "System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089".

Description: une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Consultez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code. Détails de l'exception: System.TypeLoadException: impossible de charger le type 'System.ServiceModel.Activation.HttpModule' de l'assembly 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.

Cette erreur peut se produire lorsque IIS est installé après l'installation de .NET Framework 4 ou si la version 3.0 du module d'activation Http WCF est installée après l'installation de IIS et .NET Framework 4.

Pour résoudre ce problème, vous devez utiliser ASP.NET IIS Registration Tool (Aspnet_regiis.exe,) pour enregistrer la version correcte d'ASP.NET. Cela peut être accompli en utilisant les paramètres –iru lors de l'exécution de aspnet_regiis.exe comme suit:

aspnet_regiis.exe -iru

Et le crédit, c'est dû: Source

10
Doguhan Uluca

J'ai dû cocher "Activation HTTP" dans "Ajouter des services de rôle" dans Windows Server 2012.

6
GONeale

essayez d'installer IIS en développant votre service d'informations Internet, puis vérifiez ASP.Net 3.5 ou ASP.Net 4.5 et ISAPI .... à la racine du monde entier ........ veuillez regarder l'image pour plus d'aideenter image description here

3
Mr.Buntha Khin

J'ai essayé d'exécuter ServiceModelReg et aspnet_regiis.exe avec divers indicateurs et j'ai ajouté la fonction d'activation HTTP, mais cela n'a toujours pas fonctionné. Ce qui a finalement fonctionné a été d'ajouter manuellement le gestionnaire suivant à mon fichier web.config.

<system.webServer>
    <handlers>
      <add name="svc-Integrated" path="*.svc" verb="GET,HEAD,POST,DEBUG" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304" />

Mon projet exécutait .Net 3.5 et IIS était 7.5 et 7.0.

1
Janspeed