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

Ошибка HTTP 404.3 - не найдена "при просмотре службы wcf на Windows Server 2008 (64 бит)

Я разрабатываю приложение на основе .Net Framework 3.5 sp1 и размещен на сервере Windows 2008 (64 бит).

При просмотре службы wcf (.svc) локально все вещи в порядке, но при просмотре с полным доменным URL-адресом он получил ошибку.

локальный адрес выглядит следующим образом: http://localhost/MyService.svc

и адрес домена: http://MySite.ir/MyService.svc

кстати, страницы (.aspx) и другие файлы работают правильно как на localhost, так и с адресом домена.

любая идея будет оценена

Вот подробная ошибка:


Ошибка HTTP 404.3 - не найдено

Запрошенная страница не может быть выполнена из-за конфигурации расширения. Если страница script, добавьте обработчик. Если файл должен быть загружен, добавьте MIME-карту. Подробная информация об ошибке

Модуль: StaticFileModule

Уведомление: ExecuteRequestHandler

Обработчик: StaticFile

Код ошибки: 0x80070032

Запрошенный URL: http://MySite.ir:80/MyService.svc

Физический путь: D:\inetpub\vhosts\MySite.ir\httpdocs\MyService.svc

Метод входа в систему: Анонимный

Пользователь входа Аноним

4b9b3361

Ответ 1

ОК, вот ответ:

Перейдите в сопоставления обработчиков | Добавить менеджер обработчика → Затем добавьте ниже информацию

Путь запроса: *. svc

Тип: System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089

Имя: svc-Integrated

Ответ 2

Пожалуйста, убедитесь, что вы активировали компоненты WCF из здесь.

Или альтернативный и простой способ - перейдите на панель управления → Включить или отключить функцию Windows → и убедитесь, что у вас есть все опции, отмеченные как показано на снимке ниже.

enter image description here

Ответ 3

Если у кого-то есть эта проблема на Windows Server 2012, Bill Moon отвечает здесь, решил это для меня:

"Для Windows Server 2012... В диспетчере серверов выберите" Добавить роли и функции ", выберите соответствующий сервер и выберите" Функции ". В разделе" Возможности .NET Framework 4.5 "вы увидите службы WCF и, вы найдете HTTP-активацию."

Ответ 4

Если вы используете .Net 4.x, PublicKeyToken имеет значение 31bf3856ad364e35.

Однако, после этого сообщения об установке служб WCF должным образом в IIS, обработчик был настроен для меня.

Ответ 5

Я хотел добавить это как комментарий к ответу, но не имел достаточной репутации для него. Я попытался запустить ServiceModelReg и aspnet_regiis.exe с различными флагами и добавил функцию активации HTTP, но он все еще не работал. Даже использование пользовательского интерфейса отображения обработчика в IIS не помогло, так как не удалось найти System.ServiceModel.Activation.HttpHandler. В конечном итоге работала над тем, чтобы добавить обработчик Mori вручную в мой файл 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 для Windows 7 и IIS 7.0 на Win Server 2008 R2.

Ответ 6

Попробуйте отключить активацию HTTP WCF из окна "Включить или отключить Windows" (см. здесь) и переустановить, выбрав

%windir%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\

и выполните ServiceModelReg -i