HTTP 404 при доступе к файлу .svc в IIS - PullRequest
68 голосов
/ 09 апреля 2010

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

"Server Error in '/' Application.The resource cannot be found.  "

У меня была эта проблема в течение прошлых 4 дней.

в сопоставлениях обработчиков диспетчера IIS я вижу две записи для .svc:

svc-Integrated and svc-ISAPI-2.0

Ответы [ 11 ]

80 голосов
/ 25 августа 2015

Что сработало для меня, На Windows 2012 Server R2:

WCF HTTP 404

Спасибо "Аарону Д"

67 голосов
/ 09 апреля 2010

Вам необходимо добавить сопоставление для расширения SVC в ASP.NET. Самый простой способ сделать это - запустить ServiceModelReg.exe -i из C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation. Вам также может понадобиться включить ASP.NET, если вы еще этого не сделали.


Если вы используете Windows Server 2012 или 2016, следуйте этим инструкциям:

49 голосов
/ 20 ноября 2013

Я нашел эти инструкции в блоге , в котором указан этот шаг, который работал для меня (Windows 8, 64-разрядная версия):

Убедитесь, что в функциях Windows отмечены оба варианта WCF в .Net framework. Перейдите в Панель управления -> Программы и компоненты -> Включить / выключить функции Windows -> Функции -> Добавить компоненты -> Функции .NET Framework X.X. Убедитесь, что .Net Framework говорит, что он установлен, и убедитесь, что под ним активирован узел активации WCF (отмечен флажок), а также проверены оба параметра в разделе Активация WCF.
These are:
* HTTP Activation
* Non-HTTP Activation
Both options need to be selected (checked box ticked).
4 голосов
/ 23 июля 2012

Я вижу, вы уже решили свою проблему - но для потомков:

У нас была похожая проблема, и обработчик SVC уже был правильно установлен. Наша проблема заключалась в том, что обработчик ExtensionlessUrl обрабатывал запросы до того, как они достигли обработчика SVC.

Чтобы проверить это - в «Сопоставлениях обработчиков» в IIS Manager на уровне веб-сервера просмотрите список обработчиков по порядку (это параметр справа) Если различные обработчики ExtensionlessUrl появляются над обработчиками SVC, то несколько раз перемещайте их вниз, пока они не окажутся внизу.

1 голос
/ 01 февраля 2017

Это также может стать проблемой после включения IIS 6 Management Compatibility в Windows 10. Настройка среды HTTP Activation в службах WCF решит проблему.

1 голос
/ 27 июля 2012

У меня сегодня была такая же проблема.

Для меня решение заключалось в том, чтобы перейти в IIS, щелкнуть правой кнопкой мыши имя нового веб-сайта, выбрать «Свойства», «ASP.Net» и изменить версию ASP.Net с «1.1.4322» (которую он установил как по умолчанию) до 2.0.50727.

Как только я это сделал, я мог бы щелкнуть правой кнопкой мыши на файле .svc, нажать «Обзор» и увидеть дружественную веб-страницу сервиса.

1 голос
/ 20 мая 2011

Проверяет, что ваш каталог был преобразован в приложение для вашего IIS.

0 голосов
/ 17 января 2019

Мне пришлось добавить расширение .svc к разрешенным расширениям в настройках фильтрации запросов (раньше было 404,7 ошибок).

enter image description here

0 голосов
/ 26 сентября 2016

В моем случае Win 10. файл applicationHost.config поврежден VS 2012. И вы можете получить копию истории этого файла в C: \ inetpub \ history. Затем перезапустите IIS, и он будет работать правильно.

0 голосов
/ 10 сентября 2015

Существуют 2 версии .net framework, которые приведены в разделе «Добавить роль / функции на сервере 2012»

а. 3,5

б. 4,5

В зависимости от используемой платформы вы можете включить HTTP-Activation в службах WCF. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...