web-dev-qa-db-fra.com

Impossible de servir les services WCF dans IIS sous Windows 8

Lorsque j'essaie de servir un service WCF sur IIS sur un ordinateur Windows 8, j'obtiens l'erreur bien connue.

La page que vous demandez ne peut pas être servie en raison de la configuration de l'extension. Si la page est un script, ajoutez un gestionnaire. Si le fichier doit être téléchargé, ajoutez une carte MIME.

L'ancien travail consistait à exécuter aspnet_regiis -i, mais cette commande semble avoir été déconseillée dans Windows 8, ce qui a entraîné une réponse This option is not supported on this version of the operating system. (...).

Quel serait le travail autour?

(J'ai déjà activé avec succès les pages aspx normales, donc la plupart de la configuration IIS semble saine.)

191
faester

Semblait être une évidence; le service WCF doit être activé à l'aide de Programs and Features -> Turn Windows features on or off dans le Panneau de configuration. Allez à .NET Framework Advanced Services -> WCF Services et activez HTTP Activation comme décrit dans cet article de blog sur mdsn .

A partir de la commande Invite (en tant qu'administrateur), vous pouvez exécuter:

C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

Si vous obtenez une erreur, utilisez ce qui suit.

C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation
C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation45
386
faester

Pour Windows Server 2012, la solution est très similaire à celle de faester (voir ci-dessus). Dans le Gestionnaire de serveur, cliquez sur Add roles and features, sélectionnez le serveur approprié, puis sélectionnez Features. Sous .NET Framework 4.5 Features, vous verrez WCF Services, et sous celui-ci, vous trouverez HTTP Activation.

91
Bill Moon

Veuillez suivre les deux étapes suivantes sur IIS 8.0.

Ajouter un nouveau type MIME & HttpHandler

  1. Extension: .svc, type MIME: application/octet-stream

  2. Chemin de la demande: * .svc, Type: System.ServiceModel.Activation.HttpHandler, Nom: svc-Integrated

11

Vous pouvez également y parvenir en activant la fonction Windows. enter image description hereenter image description here

8

C'est vraiment la même solution que celle de Faester et celle de Bill Moon, mais voici comment procéder avec PowerShell:

Import-Module Servermanager
Add-WindowsFeature AS-HTTP-Activation

Bien entendu, rien ne vous empêche d'appeler DISM depuis PowerShell.

3
JamesQMurphy