WCF работает приложением, но не сервисом

У меня есть сервер WCF, который я могу выполнить как услуга или как приложение форм окон. Когда я выполняю его как приложение Windows Forms, я могу соединиться с ним через свое клиентское приложение. Однако, когда я выполняю его как услуга использование того же кода, я не могу соединиться с ним. Я подтвердил, что услуга работает и делает свою работу. Ниже файл конфигурации сервера.

<system.serviceModel>
  <services>
    <service name="Cns.TrafficCopService.ManagementService">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8000/TrafficCop/ManagementService" />
        </baseAddresses>
      </host>
      <endpoint address="" binding="wsHttpBinding" contract="Cns.TrafficCopService.IManagementService" />
    </service>
  </services>
</system.serviceModel>

и ее код хостинга, названный 100 миллисекундами после OnStart, называют:

if (this.serviceHost != null)
{
    this.serviceHost.Close();
}

this.serviceHost = new ServiceHost(typeof(ManagementService));
this.serviceHost.Open();

и файл конфигурации клиента:

<system.serviceModel>
  <bindings>
    <wsHttpBinding>
      <binding name="WSHttpBinding_IManagementService" />
    </wsHttpBinding>
  </bindings>
  <client>
    <endpoint
        address="http://localhost:8000/TrafficCop/ManagementService"
        binding="wsHttpBinding"
        bindingConfiguration="WSHttpBinding_IManagementService"
        contract="IManagementService"
        name="WSHttpBinding_IManagementService">
    </endpoint>
  </client>
</system.serviceModel>
5
задан Cœur 21 November 2019 в 12:41
поделиться