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-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 с помощью:
- удаление из "Мастера удаления ролей и компонентов" .NET Framework 4.5 Features/ASP. NET 4.5 и всех его зависимых функций
- переустановка удаленных функций.
Это швы порядок установки является причиной.
кроме того, убедитесь, что в службах WCF установлена активация HTTP.
для 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-ga " NT AUTHORITY\NETWORK SERVICE" aspnet_regiis-iru
перезагрузить ПК... это выглядит как в результате как действия ## 3 и 4 что-то сломалось в моем ASP.NET конфигурация
повторить действие № 2
установите два других параметра из раздела "Программы и компоненты": расширенные службы .Net Framework 4.5. Я проверил оба варианта sub: ASP.NET 4.5 и WCF services
Перезапустить Пул Приложений.
последовательность немного сумасшедшая, но это помогло мне и, вероятно, поможет другим
порядок установки имеет большое значение при настройке 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 лет в этом, вы все еще можете сделать ошибки школьника / новичка ошибки. Надеюсь, это кому-то поможет.