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.

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

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

12   246  

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-WCF HTTP Activation и Non-Http Activation

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. переустановка удаленных функций.

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

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

для 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-ga " NT AUTHORITY\NETWORK SERVICE" aspnet_regiis-iru

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

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

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

  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 лет в этом, вы все еще можете сделать ошибки школьника / новичка ошибки. Надеюсь, это кому-то поможет.