ошибка конечной точки службы

#wcf #windows-phone-7

#wcf #windows-phone-7

Вопрос:

я написал простое приложение wp7. он использует службу wcf и файлы для хранения данных, предоставленных пользователем. я мог бы успешно запустить приложение без ошибок, но я получаю ошибку во время выполнения: «Раздел конфигурации конечной точки для контракта ‘ServiceReference1.Не удалось найти IService1’, поскольку было найдено более одной конфигурации конечной точки для этого контракта. пожалуйста, укажите раздел предпочтительной конфигурации конечной точки по имени » acf содержит следующий набор конфигураций конечной точки

  <services>
      <service name="WcfDataWallet.Service1">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfDataWallet.IService1">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  

кто-нибудь может мне помочь, пожалуйста

Ответ №1:

У меня только что была такая же проблема. Я добавил только 1 ссылку на службу в свой проект в VS 2010, однако я заметил, что в web.config были добавлены 2 конечные точки

Я только что прокомментировал вторую конечную точку, поскольку я совершенно уверен, что она мне не нужна.

Таким образом, перед

 <endpoint address="http://web_services.u.aco/ServicesLocations/1_1/LocationsService.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ILocationsService"
    contract="LocationService.ILocationsService" name="WSHttpBinding_ILocationsService" />
  <endpoint address="http://web_services.u.aco/ServicesLocations/1_1/LocationsService.svc/basic"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ILocationsService"
    contract="LocationService.ILocationsService" name="BasicHttpBinding_ILocationsService" />
  

Изменено на:

 <endpoint address="http://web_services.u.aco/ServicesLocations/1_1/LocationsService.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ILocationsService"
    contract="LocationService.ILocationsService" name="WSHttpBinding_ILocationsService" />
  <!--<endpoint address="http://web_services.u.aco/ServicesLocations/1_1/LocationsService.svc/basic"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ILocationsService"
    contract="LocationService.ILocationsService" name="BasicHttpBinding_ILocationsService" />-->
  

Теперь работает!

Ответ №2:

попробуйте это

 MyClientProxy proxy = new MyClientProxy("endpoint name"); eg EndPointNameXXX
  

Где «имя конечной точки» должно указывать на одну из ваших конечных точек в файле конфигурации клиента.

 <endpoint address="http://[SERVER]/Service"
                binding="basicHttpBinding" bindingConfiguration="bindingConfig"
                contract="IXXXX.YYYY" name="EndPointNameXXX" />