Ошибка при открытии соединения с хостом службы WCF - PullRequest
0 голосов
/ 16 февраля 2019

Мне не удалось открыть соединение для моего ServicHost.Я изначально использовал порт 8080, он работал раньше. Но теперь он не работает.Я вижу ошибку (ниже) с моим App.Conifg.Please сообщите мне, где ошибка.

Это простое демонстрационное приложение EmployeeWCF с интерфейсом IEmployeeService и классом EmployeeService.

Приложение.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
  <system.serviceModel>
    <services>
      <service name="EmployeeWCFService.EmployeeService" behaviorConfiguration="mexBehaviour">
        <endpoint name ="httpBind" address="EmployeeService" binding="basicHttpBinding" contract="EmployeeWCFService.IEmployeeService" ></endpoint>
        <endpoint name ="netTcpBind" address="EmployeeService" binding="netHttpBinding" contract="EmployeeWCFService.IEmployeeService" ></endpoint>
        <endpoint name="mexBind" address="mex" binding="mexHttpBinding" contract="IMetadataExchange" ></endpoint>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9090"/>
            <add baseAddress="net.tcp://localhost:9093"/>
          </baseAddresses>
        </host>
      </service>

    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="mexBehaviour">
          <serviceMetadata httpsGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>
</configuration>

ConsoleCode:

class Program
    {
        static void Main(string[] args)
        {
            using (ServiceHost host = new ServiceHost(typeof(EmployeeWCFService.EmployeeService)))
            {
                host.Open();
                Console.WriteLine("The connection host is opened at the time " + DateTime.Now);
                Console.ReadLine();
            }
        }
    }

Ошибка, с которой я сталкиваюсь при открытии узла службы WCF:

Дополнительная информация: экземпляр привязки уже связандля прослушивания URI 'http://localhost:9090/EmployeeService'. Если две конечные точки хотят использовать один и тот же ListenUri, они также должны использовать один и тот же экземпляр объекта привязки.Две конфликтующие конечные точки были либо указаны в вызовах AddServiceEndpoint (), либо в файле конфигурации, либо в комбинации AddServiceEndpoint () и config.

1 Ответ

0 голосов
/ 19 февраля 2019

В вашем файле конфигурации может быть опечатка.Вторая конечная точка службы должна использовать NetTcpBinding вместо NetHttpBinding, в результате чего две конечные точки обслуживания имеют одинаковый адрес прослушивания.
Не стесняйтесь обращаться ко мне, если проблема все еще существует.

...