Подтвердить что ты не робот

Не удается использовать службы WCF в IIS для Windows 8

Когда я пытаюсь обслуживать службу WCF в IIS на машине под управлением Windows 8, я получаю известную ошибку

Запрошенная страница не может быть выполнена из-за конфигурации расширения. Если страница script, добавьте обработчик. Если файл нужно загрузить, добавьте MIME-карту.

Старая работа заключалась в том, чтобы запустить aspnet_regiis -i, но эта команда, похоже, устарела в Windows 8 с ответом This option is not supported on this version of the operating system. (...).

Какая работа?

(Я успешно включил регулярные страницы aspx, поэтому большая часть конфигурации IIS кажется здоровой.)

4b9b3361

Ответ 1

Казалось, что это не проблема; служба WCF должна быть включена с помощью Programs and Features -> Turn Windows features on or off на панели управления. Перейдите к .NET Framework Advanced Services -> WCF Services и включите HTTP Activation, как описано в этом сообщении в блоге на mdsn.

В командной строке (как admin) вы можете запустить:

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

Ответ 2

В Windows Server 2012 решение очень похоже на faester (см. выше). В диспетчере серверов нажмите Add roles and features, выберите соответствующий сервер, затем выберите Features. В разделе .NET Framework 4.5 Features вы увидите WCF Services, и под ним вы найдете HTTP Activation.

Ответ 3

Проделайте следующие шаги в IIS 8.0

Добавить новый тип MIME и HttpHandler

  • Расширение:.svc, MIME-тип: application/octet-stream

  • Путь запроса: *.svc, Тип: System.ServiceModel.Activation.HttpHandler, Имя: svc-Integrated

Ответ 4

Это действительно то же самое решение, что и решение faester и Bill Moon, но вот как вы это делаете с PowerShell:

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

Конечно, ничего не мешает вам вызывать DISM из PowerShell.

Ответ 5

Вы также можете добиться этого, включив функцию Turning windows. введите описание изображения здесь введите описание изображения здесь