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 ответов
более конкретно:
- выполнить
Server Manager
(на панель задач и меню "Пуск") - выберите сервер для администрирования (возможно, локальный сервер)
- прокрутите вниз до "
Roles and Features
раздел". - выбираем "
Add Role or Feature
" задачи из выпадающего - On"
Add Role or Feature Wizard
" диалог, нажмите кнопку "вниз"Features
" в списке страниц слева. - расширения
".Net 3.5"
или".Net 4.5"
в зависимости от того, что вы установили. (вы можете вернуться к "roles
" экран для добавления, если у вас его нет. - в разделе "
WCF Services
" флажок "HTTP-Activation
". Вы также можете добавить типы, отличные от http, если знаете, что они вам нужны (tcp, именованные каналы и т. д.). - клик .
включите следующее: "включить или выключить функции 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 с:
- удаление из" Мастера удаления ролей и функций " .NET Framework 4.5 Features/ASP.NET 4.5 и все его зависимые функции
- повторная установка удаленных компонентов.
Это швы порядок установки является причиной.
кроме того, убедитесь, что активация HTTP установлена в службах WCF.
для Windows 8 машин нет приложения" диспетчер серверов " (по крайней мере, я не смог его найти).
хотя я смог решить проблему. Я не уверен, в какой последовательности я сделал следующие операции, но выглядит как одно / несколько следующих действий:
включите следующее "включение или выключение компонентов Windows" a) .Net Framework 3.5 - активация HTTP WCF и активация без Http b) все службы WCF (как указанный в одном из ответов на этот вопрос)
выполнено " ServiceModelReg.exe-i " in " %windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ " папка
-
зарегистрирован ASP.NET 2.0 через две команды ( в папке C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727):
команду aspnet_regiis -га "НТ власть\услуга сети" команду aspnet_regiis -МСАТ
перезагрузить ПК... похоже, в результате действия # # 3 и 4 что-то сломалось в моем ASP.NET конфигурация
повторить действие № 2
установите два других параметра из раздела "Программы и компоненты": расширенные службы .Net Framework 4.5. Я проверил оба варианта sub: ASP.NET 4.5 и услуги WCF
Перезапустить Пул Приложений.
последовательность немного сумасшедшая, но это помогло мне и, вероятно, поможет другим
порядок установки имеет большое значение при настройке 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
Это было действительно глупо для меня. Добавление этого здесь, поскольку это один из наиболее популярных потоков по проблемам svc 404.
У меня был в настройках проекта' \ Web \ Project URL, вставленный:
http://blah.webservice.local.blahblah.com/Blah.svc
и по какой-то неизвестной причине (сделав это тысячу раз) не сразу заметил, что имя .файл SVC был в конце.
DOH!
Я только что вставил адрес из моего тестового клиента WCF и не проверил его достаточно. Что? это сделало в фоновом режиме было создать приложение IIS на .адрес svc, и я ничего не получал от IIS. Я не мог понять, как я не мог даже ударить .файл SVC.
простое исправление, очевидно, просто удалите приложение в IIS и измените URL-адрес проекта.
после почти 20 лет на этом, вы все еще можете сделать ошибки школьника / ошибки новичка. Надеюсь, это кому-то поможет.