Как я могу открыть службу WCF, чтобы один клиент, использующий привязки wsHttp и другой клиент, используя привязки netTcp, мог использовать эту услугу?Служба WCF с двумя типами привязки для двух разных клиентов
ответ
Короче говоря, вы можете сделать это просто через конфигурацию!
Have you seen this tutorial? Do check this out.
Его отличный учебник с изображениями на экране всего базового процесса настройки пробной службы с несколькими конечными точками с использованием Microsoft Service Configuration Editor.
Это вся конфигурация - когда вы определяете свой сервис, вы просто идете и определяете две конечные точки - одну для wsHttpBinding
, а другую для netTcpBinding
. Это так просто!
<system.serviceModel>
<services>
<service name="YourNamespace.MyService">
<endpoint
address="ws"
binding="wsHttpBinding"
contract="YourNamespace.IMyService" />
<endpoint
address="net.tcp://localhost:8787/MyService"
binding="netTcpBinding"
contract="YourNamespace.IMyService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8282/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
Теперь у вас есть служба обнажая две конечные точки:
- один с помощью
wsHttpBinding
наhttp://localhost:8282/ws
- один с помощью
netTcpBinding
наtcp://localhost:8787/MyService
обе конечные точки находятся на одной и той же службы , за тот же контракт на обслуживание, например предлагают те же функциональные возможности и методы обслуживания.
Каждая служба конечные точки в WCF должны определить ABC ФОС:
- [A] ddress - где может быть достигнут сервис/под название?
- [B] inding - как можно назвать услугу (протокол, настройки, безопасность и т. Д.)?
- [C] ontract - что предлагает услуга по этому адресу, какие методы выставлены?
Вы также можете указать базовый адрес для nettcp, только для согласованности. –
@Johann Blais: Да, вы определенно могли бы это сделать - это полностью зависит от вас. Я просто хотел показать оба метода - с базовым адресом (для http) и без указания явного, полного адреса в теге
Я пробовал это, но когда я обращаюсь к http: // localhost: 8282/ws, я получаю HTTP 404 - Ошибка файла не найдена. Нужно ли что-то еще? –
- 1. WCF: служба не работает для нескольких клиентов
- 2. Signalr as Служба WCF для различных клиентов
- 3. Обновление службы WCF с помощью новых методов для разных клиентов
- 4. Как открыть службу wcf для разных клиентов
- 5. Обработка отложенных клиентов в приложении WCF для двусторонней привязки
- 6. Служба опроса клиентов для деятельности
- 7. multiserverthread для двух разных типов клиентов
- 8. Служба WCF IIS для создания пользовательских служб для внешних клиентов
- 9. Проблемы с производительностью клиентов WCF
- 10. WCF: Одна услуга с двумя типами поведения (поведениеконфигурация)
- 11. вызовы службы WCF для клиентов
- 12. Приложение-служба WCF не принимает мои привязки
- 13. Служба WCF, использующая шифрование только для некоторых клиентов
- 14. Свойства привязки двух разных ViewModels
- 15. Количество клиентов/клиентов WCF клиентов
- 16. Служба общего пользования WCF
- 17. Вызов одного сервлета от двух разных клиентов
- 18. Служба Windows с WCF
- 19. Служба WCF с NLB
- 20. Как отличить клиентов от двух разных доменов?
- 21. Настройка службы WCF с двумя конечными точками с различными конфигурациями привязки
- 22. Проблемы WCF с типами?
- 23. Служба только для WCF
- 24. Служба WCF для Sl3
- 25. WCF - Предотвращение несанкционированных клиентов
- 26. Служба доменов и служба WCF?
- 27. Служба WCF для Android
- 28. Служба привязки Android Binder от Java
- 29. Laravel с двумя разными типами пользователей
- 30. Служба WCF с SSL
Ссылка мертва ... – Vaccano
Yup. Ссылка мертва. Фактический полный ответ всегда лучше, даже если ti говорит то же самое в ссылке. –
@ Vaccano/Coral - Обновлена ссылка. Хотя я обычно соглашаюсь с комментариями Корала относительно публикации контента, в этом случае я нахожу его слишком длинным и с множеством пошаговых скриншотов - поэтому я не думаю, что на самом деле любой хороший способ сделать это в сжатом манера. Отсюда ссылка. – InSane