Подтвердить что ты не робот

Как решить ошибку "Ошибка HTTP 404.3 - Не найдено"?

Простая проблема. Я запускаю VS2008 и создаю новое приложение службы WCF. Это создаст приложение по умолчанию с несколькими методами тестирования, показывая, что он работает. Я нажимаю CTRL + F5, и он действительно работает! Большой! Однако он использует сервер разработки Visual Studio, который я не хочу поддерживать.

Итак, я перехожу к свойствам проекта, переключаюсь на использование локального веб-сервера IIS, создаю виртуальный каталог и снова нажимаю CTRL + F5. И эта ошибка "Ошибка HTTP 404.3 - не найдена" приветствует меня.

Итак, что-то в моей настройке IIS7/Vista-64 неверно. Что я могу потерять?

4b9b3361

Ответ 1

Нажмите "Пуск" → "Выполнить" cmd и введите:

cd "\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
ServiceModelReg.exe -i

Ответ 2

Если вы столкнулись с этой проблемой в первый раз. с Windows 8 и IIS 8.0 обязательно активируйте функцию Windows Communication Foundation HTTP.

  • Выберите "Панель управления" "Программы и функции"
  • В меню стороны с лифтом выберите "Включить или отключить функции Windows" .
  • Развернуть ".NET Framework 3.5 (включая .NET 2.0 и 3.0).
  • Наконец, выберите "HTTP-активация Windows Communication Foundation"
  • Наслаждайтесь WCF Servcie.

Ответ 3

Однако проблема заключается в перерегистрации ASP.Net в IIS, что объясняется ниже.

А также, если вы на 64-битной машине всегда используете пути Framework64: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 > aspnet_regiis.exe -iru

Ниже приведено объяснение от Microsoft:

http://download.microsoft.com/download/0/A/E/0AEB3BC1-506E-4954-8AB1-4FA2EE75985C/ReleaseNotes.docx

При попытке запустить службу, которая принимает сообщения по HTTP-транспорту, вы можете получить ошибку, аналогичную следующей:

Ошибка сервера в приложении "/WCFApplication"

Не удалось загрузить тип 'System.ServiceModel.Activation.HttpModule' из сборки 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.

Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.TypeLoadException: Не удалось загрузить тип 'System.ServiceModel.Activation.HttpModule' из сборки 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.

Эта ошибка может возникнуть, когда IIS установлен после установки .NET Framework 4 или если версия 3.0 модуля активации HF для WCF установлена ​​после установки IIS и .NET Framework 4.

Чтобы устранить эту проблему, вы должны использовать ASP.NET IIS Registration Tool (Aspnet_regiis.exe,) для регистрации правильной версии ASP.NET. Это можно сделать, используя параметры -iru при запуске aspnet_regiis.exe следующим образом:

aspnet_regiis.exe -iru

И кредит, где он должен: Источник

Ответ 4

Мне нужно было отметить "HTTP-активацию" в разделе "Добавить службы ролей" в Windows Server 2012.

Ответ 5

попробуйте установить IIS, расширив свою интернет-информационную службу, а затем проверьте ASP.Net 3.5 или ASP.Net 4.5 и ISAPI... в корне мировых стран......... пожалуйста, посмотрите изображение, чтобы больше помочь enter image description here

Ответ 6

Я попытался запустить ServiceModelReg и aspnet_regiis.exe с различными флагами и добавил функцию активации HTTP, но он все равно не работает. Что в конечном итоге работало, так это добавить следующий обработчик вручную в файл web.config.

<system.webServer>
    <handlers>
      <add name="svc-Integrated" path="*.svc" verb="GET,HEAD,POST,DEBUG" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304" />

Мой проект работал .Net 3.5 и IIS были 7,5 и 7,0.