Проблема со ссылкой на службу в WCF (C #) - PullRequest
2 голосов
/ 13 июля 2010

Мне нужно сослаться на сервис, который является частью другого проекта.Я объявил и выполнил контракт на обслуживание, а затем попытался добавить стандартную ссылку (щелкните правой кнопкой мыши -> Добавить ссылку на службу и добавил

<a href="http://localhost:8000/MyService?wsdl" rel="nofollow noreferrer">http://localhost:8000/MyService?wsdl</a>

Прокси-сервер создан иэто должно работать на первый взгляд, однако каждый раз, когда я пытаюсь запустить полученную программу:

Не удается найти элемент конечной точки по умолчанию, который ссылается на контракт "MyService.IMyContract" в разделе конфигурации клиента ServiceModelВозможно, это связано с тем, что для вашего приложения не найден файл конфигурации или из-за того, что в клиентском элементе не найден элемент конечной точки, соответствующий этому контракту.

У вас есть идеи, как решить проблему?Вот часть моего конфигурационного файла (раздел ServerModel):

<client>
  <endpoint 
      address="http://localhost:8000/MyService" 
      binding="wsHttpBinding"
      bindingConfiguration="" 
      contract="MyService.IMyContract" name="" />
</client>

Есть идеи?

Заранее спасибо за ответы!

ура

1 Ответ

1 голос
/ 13 июля 2010

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

Если у вас есть веб-сайт, вы должны обязательно поместить эти записи конфигурации в web.config веб-приложения.

Если у вас есть консоль, приложение Winforms или WPF,вам нужно поместить эти записи конфигурации в app.config вашего основного приложения.

Время от времени происходит то, что программисты имеют библиотеку классов, которая инкапсулирует вызовы WCF, но забывают скопировать записи конфигурацииот app.config библиотеки классов до app.config или web.config основного приложения.По умолчанию .NET не читает библиотеку классов app.config во время выполнения, поэтому наличие там настроек не принесет вам пользы.

...