Размещение службы WCF на IIS - PullRequest
1 голос
/ 04 января 2012

Я новичок в разработке WCF и Windows Mobile.Я пытаюсь создать время от времени подключенное приложение, использующее среду синхронизации MSFT, и для этого требуется использование службы WCF.

У меня есть проект Visual Studio, содержащий проект моего смарт-устройства, проект библиотеки служб WCF ипроект веб-сайта службы WCF.

Служба нормально размещена на моей локальной машине, не использующей IIS, и я могу получить к ней доступ в http://localhost:55149/ElectricReadingServiceSite/ElectricReading.svc

Однако, когда я добавляю ее в IIS, она дает мне ресурс http 404, который не может быть найденошибка.Я не могу понять, почему он считает, что ресурс не существует.

Вот мой web.config:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" 
               behaviorConfiguration="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior">
        <endpoint 
            address=""  
            binding="basicHttpBinding"  
            contract="MiddleTierServiceLibrary.IElectricReadingCacheSyncContract">
          <identity>
            <dns value="10.104.238.123"/>
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Мой ElectricReading.svc выглядит так:

<%@ ServiceHost Language="C#" Debug="true" 
        Service="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" %>

Любая помощь очень ценится!

РЕДАКТИРОВАТЬ: Есть ли какие-либо инструменты или шаги, которые я могу предпринять, чтобы лучше понять, что происходит не так?Ошибка 404 очень мало мне помогает.

1 Ответ

1 голос
/ 04 января 2012

Причин этому может быть несколько.

Некоторые из них могут включать:

  • Убедитесь, что вы загрузили сборку в папку Bin
  • Вы настроили веб-сайт на IIS, но у вас нет доступа к нему с правильным адресом (убедитесь, что порт указан правильно)
  • Ваш пул приложений не настроен для веб-сайта (если вывы используете .NET 4.0, вам нужно установить пул приложений на версию 4.0) В диспетчере IIS перейдите на ApplicationPools и установите для пула версию .NET, которую вы используете

Попробуйте использовать Скрипач .Он должен регистрировать звонки, которые он делает, и таким образом дать вам немного больше информации о том, что он не находит.

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