web-dev-qa-db-ja.com

Windows 8のIISでWCFサービスを提供できません

Windows 8マシンのIISでWCFサービスを提供しようとすると、よく知られたエラーが表示されます

拡張機能が設定されているため、リクエストしているページは配信できません。ページがスクリプトの場合、ハンドラーを追加します。ファイルをダウンロードする必要がある場合は、MIMEマップを追加します。

古い回避策はaspnet_regiis -iを実行することでしたが、このコマンドはWindows 8で非推奨になり、応答This option is not supported on this version of the operating system. (...)が生成されたようです。

回避策は何ですか?

(通常のaspxページを既に有効にしているので、ほとんどのIIS構成は正常に見えます。)

188
faester

簡単に思えた。コントロールパネルのPrograms and Features -> Turn Windows features on or offを使用してWCFサービスを有効にする必要があります。 mdsnに関するこのブログ投稿 の説明に従って、.NET Framework Advanced Services -> WCF Servicesに移動し、HTTP Activationを有効にします。

コマンドプロンプト(管理者として)から、次を実行できます。

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

エラーが発生した場合は、以下を使用してください

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

Windows Server 2012の場合、ソリューションはfaesterに非常に似ています(上記を参照)。サーバーマネージャーから、Add roles and featuresをクリックし、適切なサーバーを選択して、Featuresを選択します。 .NET Framework 4.5 Featuresの下にWCF Servicesが表示され、その下にHTTP Activationがあります。

90
Bill Moon

IIS 8.0で次の2つの手順を実行してください

新しいMIMEタイプとHttpHandlerを追加する

  1. 拡張子:.svc、MIMEタイプ:application/octet-stream

  2. 要求パス:* .svc、タイプ:System.ServiceModel.Activation.HttpHandler、名前:svc-Integrated

10

これは、ウィンドウ機能をオンにすることでも実現できます。 enter image description hereenter image description here

6

これは、faesterのソリューションおよびBill Moonのソリューションと実際には同じソリューションですが、PowerShellで行う方法は次のとおりです。

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

もちろん、PowerShellからDISMを呼び出すことを妨げるものは何もありません。

3
JamesQMurphy