Вопрос

В службе WCF у меня есть набор привязки конечной точки в качестве WSHTTPBinding. Однако, когда я использую Visual Studio, чтобы добавить ссылку на сервис, мой приложение клиентов. Config показывает привязку в качестве basichttpbinding. Кто -нибудь знает, почему это может произойти?

Моя конечная точка в Service Web.config (размещена в IIS 7.5). Получает адрес от BaseadDresses

<endpoint address=""
    binding="wsHttpBinding"
    bindingConfiguration="wsHttpServiceBinding"
    contract="MyProject.IMyService" />

Client app.config:

<client>
    <endpoint address="http://example.com/MyService.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_MyService"
    contract="Service.MyService" name="BasicHttpBinding_MyService" />
</client>
Это было полезно?

Решение

- Ладислав Мрнка указала мне в правильном направлении. Спасибо большое.

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

Вместо того, чтобы иметь мой контракт на обслуживание (imyservice), находящийся в моем приложении WCF, у меня был его в другом доменном проекте, где я держу все свои интерфейсы, чтобы их можно было повторно использовать в разных различных проектах. В моем приложении WCF Service. Wheb.config у меня было имя службы, указывающее на интерфейсный проект, а не в реализации. Это привело к тому, что VS2010 (svcutil.exe) создал прокси и конфигурацию на основе настройки по умолчанию (я предполагаю, что находится в machine.config (для WCF 4)).

Таким образом, подвести итог для любого другого, кто может столкнуться с этим вопросом, это было имя услуги, указывающее на неправильное место. Убедитесь, что имя службы указывает на реализацию (обычно в приложении WCF Service - myproject.myservice) и что контракт конечной точки указывает на контракт на обслуживание (в приложении WCF Service или внешнем проекте - myProject.ImyService или другое project.Interfaces.ImyService )

Спасибо за вашу помощь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top