Рекомендуемый протокол \ Тип привязки для WCF - PullRequest
0 голосов
/ 05 декабря 2011

Я занимаюсь разработкой сервисов, которые будут использоваться многими различными платформами, такими как Java, PHP, C или C ++ и т. Д. Я хочу знать, какой протокол или тип привязки мне следует использовать для таких сервисов.Должен быть общий протокол, который может использоваться всеми видами технологий или большинством из них.Я использовал BasicHTTPBindig для этой цели, но он не поддерживает транзакции в клиентском приложении.Поддерживаемые типы привязки: wsHttpBinding и другие.Я могу использовать типы транзакций, поддерживаемые WCF, но я не знаю, поддерживают ли их другие технологии или нет.

Таким образом, вопрос в том, что является наилучшим рекомендуемым типом протокола или привязки, который поддерживает большинство основных технологий для использования услуг WCF.

Любая помощь / предложение приветствуются.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2011

Я ожидаю, что под транзакцией на стороне клиента вы подразумеваете распределенную транзакцию (текущая транзакция запущена на клиенте на сервер). Это довольно сложная задача, поскольку для совместимой поддержки распределенных транзакций требуется, чтобы протоколы WS-AtomicTransaction и WS-Coordinator были реализованы платформой. Короче говоря, почти ни один сервисный стек не предоставляет эти протоколы (, кроме WCF и нескольких стеков Java ). Таким образом, вы, вероятно, сделаете это с .NET, Java, C / C ++ (но настройка будет нелегкой), но вам будет трудно использовать ее в PHP, Python и т. Д. Эти протоколы также не поддерживаются на мобильных устройствах. устройства.

Распределенные транзакции рассматриваются как функция внутреннего сервера. Так что если вы собираетесь делать общественные услуги, вы должны изменить свой дизайн. Если вы собираетесь сделать общедоступную службу / службу потребляемой клиентскими приложениями (не серверами), вам следует выбрать базовую привязку HTTP (или создать службу REST) ​​для максимальной совместимости.

0 голосов
/ 05 декабря 2011

Я некоторое время не смотрел на WCF (например, я не знаю, что - если вообще что-то изменилось в .Net 4.0) ... но если вы хотите взаимодействовать с не-MS / не-WCFклиенты, которые раньше вам нужны были WSE (улучшения веб-сервисов).

Вот хорошая ссылка:

http://msdn.microsoft.com/en-us/library/ee958158.aspx

...