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

Я пытаюсь запустить службу wcf в IIS8 в 2012 build 8400.

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

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

%windir%Microsoft.NETFrameworkv3.0WindowsCommunication FoundationServiceModelReg.exe –i

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

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

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

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

12 ответов


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

  1. выполнить Server Manager (на панель задач и меню "Пуск")
  2. выберите сервер для администрирования (возможно, локальный сервер)
  3. прокрутите вниз до "Roles and Features раздел".
  4. выбираем "Add Role or Feature" задачи из выпадающего
  5. On"Add Role or Feature Wizard" диалог, нажмите кнопку "вниз"Features " в списке страниц слева.
  6. расширения ".Net 3.5" или ".Net 4.5" в зависимости от того, что вы установили. (вы можете вернуться к "roles" экран для добавления, если у вас его нет.
  7. в разделе "WCF Services" флажок "HTTP-Activation". Вы также можете добавить типы, отличные от http, если знаете, что они вам нужны (tcp, именованные каналы и т. д.).
  8. клик .

Я должен был включить HTTP Activation на .NET Framework 4.5 Advanced Services>WCF Services

Enable HTTP Activation


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

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

b) все под WCF Services


Windows 8 с IIS8

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

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

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

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

  1. удаление из" Мастера удаления ролей и функций " .NET Framework 4.5 Features/ASP.NET 4.5 и все его зависимые функции
  2. повторная установка удаленных компонентов.

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

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


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

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

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

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

  3. зарегистрирован ASP.NET 2.0 через две команды ( в папке C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727):

    команду aspnet_regiis -га "НТ власть\услуга сети" команду aspnet_regiis -МСАТ

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

  5. повторить действие № 2

  6. установите два других параметра из раздела "Программы и компоненты": расширенные службы .Net Framework 4.5. Я проверил оба варианта sub: ASP.NET 4.5 и услуги WCF

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

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


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

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


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

Add-WindowsFeature 'NET-HTTP-Activation'

в windows 10 (клиент) вы также можете написать это с помощью

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

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


Это функция активации HTTP .NET framework Функция активации процесса Windows тоже требуется


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

У меня был в настройках проекта' \ Web \ Project URL, вставленный:

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

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

DOH!

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

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

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