WCF на IIS8; *.svc-обработчик не работает

Я пытаюсь запустить wcf-сервис, запущенный в IIS8 в 2012 build 8400.

При установке веб-роли материал wcf (до 3.51) не был найден, как в 2008 году.

При установке отсутствует сопоставление обработчика svc, поэтому я сделал:

%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i

Теперь отображение обработчика есть, но я все еще получаю:

The resource you are looking for does not have a handler associated with it.

(я удалил статический обработчик файла.)

Сайт использует классический конвейер для использования олицетворения.

Ответ 1

Более конкретно:

  • Запустите Server Manager (на панели задач и в меню "Пуск" )
  • Выберите сервер для администрирования (возможно, локальный сервер)
  • Прокрутите вниз до раздела "Roles and Features".
  • Выберите "Add Role or Feature" в раскрывающемся списке "Задачи"
  • В диалоговом окне "Add Role or Feature Wizard" нажмите "Features" в списке страниц слева.
  • Разверните ".Net 3.5" или ".Net 4.5", в зависимости от того, что вы установили. (вы можете вернуться к экрану "roles", чтобы добавить, если у вас его нет.
  • В разделе "WCF Services" установите флажок "HTTP-Activation". Вы также можете добавить не-http-типы, если знаете, что вам нужны они (tcp, named pipes и т.д.).
  • Нажмите кнопку "Install".

Ответ 2

Мне пришлось включить HTTP Activation в .NET Framework 4.5 Advanced Services > WCF Services

Enable HTTP Activation

Ответ 3

включите следующее: "Включение и выключение функций Windows"

a).Net Framework 3.5 - HTTP-активация HTTP и активация без Http

b) все под службами WCF

Ответ 4

Windows 8 с IIS8

  • Хит Windows+X
  • Выберите Programs and Features (первый элемент в списке)
  • Выберите Turn Windows Features on or off слева
  • Развернуть .NET Framework 4.5 Advanced Services
  • Развернуть WCF Services
  • Включить HTTP Activation

Ответ 5

Я предпочитаю делать это через script в настоящее время

REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

REM Feature Install Complete
pause

Ответ 6

Нам удалось решить ошибку в Windows Server 2012:

  • Удаление из мастера "Удаление роли и функций". Возможности .NET Framework 4.5/ASP.NET 4.5 и все его зависимые функции.
  • Повторная установка удаленных функций.

Это означает, что порядок установки является причиной.

Кроме того, убедитесь, что в службах WCF установлена ​​HTTP-активация.

Ответ 7

Для машин Windows 8 нет приложения "Менеджер сервера" (по крайней мере, я не смог его найти).

Хотя я смог решить проблему. Я не уверен, в какой последовательности я выполнил следующие операции, но выглядит как одна или несколько из следующих действий:

  • Включите следующее: "Включение и выключение Windows-функций".).Net Framework 3.5 - активация HTTP HTTP и активация без Http. b) все под службами WCF (как указано в одном из ответов на этот вопрос вопрос)

  • выполнено "ServiceModelReg.exe -i" в папке "% windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\

  • Зарегистрированный ASP.NET 2.0 с помощью двух команд (в папке C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727):

    aspnet_regiis -ga "NT AUTHORITY\NETWORK SERVICE" aspnet_regiis -iru

  • Перезагруженный ПК... это похоже на результат, поскольку действия ## 3 и 4 что-то сломалось в моей конфигурации ASP.NET

  • Повторить действие # 2

  • Установите еще две опции из "Программы и компоненты":.Net Framework 4.5 Advanced Services. Я проверил оба дополнительных параметра: ASP.NET 4.5 и службы WCF

  • Перезапустить пул приложений.

Последовательность отчасти сумасшедшая, но это помогло мне и, вероятно, поможет другим

Ответ 8

Порядок установки имеет большое значение при настройке IIS 8 на Windows 8 или Windows Server 2012.

Я столкнулся с множеством проблем с настройкой IIS 8, но, наконец, эти ссылки помогли мне

Ответ 9

с помощью PowerShell вы можете установить требуемую функцию с помощью

Add-WindowsFeature 'NET-HTTP-Activation'

Ответ 10

Функция HTTP-активации платформы .NET Также требуется функция активации Windows.

Ответ 11

В окнах 10 (клиент) вы также можете script использовать

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

Обратите внимание, что это другая команда с сервера skus

Ответ 12

Это было действительно глупо для меня. Добавление этого здесь как одного из наиболее популярных потоков в проблемах svc 404.

У меня в URL-адресах Project Settings\\\\\\\\\\\\\\\\\\\\

http://blah.webservice.local.blahblah.com/Blah.svc

И по какой-то неизвестной причине (сделав это тысячу раз) сразу не заметили, что имя файла .svc было в конце.

DOH!

Я только что вставил адрес из моего тестового клиента WCF и не проверил его достаточно. На этом фоне было создано приложение IIS на адресе .svc, и я ничего не получал от IIS. Я не мог понять, как я даже не мог попасть в файл .svc.

Простое исправление, очевидно, просто удалите приложение в IIS и измените URL проекта.

Спустя почти 20 лет, вы все равно можете сделать ошибки школьника/ошибки новобранец. Надеюсь, это поможет кому-то.