У WCF є кілька різних типів прив'язок на основі HTTP:
Які відмінності між цими 3?
Зокрема, у чому полягають відмінності щодо характеристик / продуктивності та сумісності?
У WCF є кілька різних типів прив'язок на основі HTTP:
Які відмінності між цими 3?
Зокрема, у чому полягають відмінності щодо характеристик / продуктивності та сумісності?
Відповіді:
Ви порівнюєте яблука з апельсинами тут:
webHttpBinding - це прив'язка у стилі REST, де ви, як правило, просто натискаєте URL-адресу та отримуєте назад завантаження XML або JSON з веб-служби
basicHttpBinding і wsHttpBinding - це два прив'язки на основі SOAP, що сильно відрізняється від REST. SOAP має перевагу в тому, що WSDL та XSD описують сервіс, його методи та дані, які передаються навколо дуже детально (REST ще нічого подібного не має). З іншого боку, ви не можете просто перейти до кінцевої точки wsHttpBinding за допомогою свого браузера і подивитися XML - ви повинні використовувати клієнт SOAP, наприклад, WcfTestClient або власний додаток.
Тому ваше перше рішення повинно бути таким: REST vs. SOAP (або ви можете виставити обидва типи кінцевих точок у вашій службі - це теж можливо).
Тоді, між базовим HttpBinding і wsHttpBinding, існують наступні відмінності:
basicHttpBinding - сама основна прив'язка - SOAP 1.1, не дуже в плані безпеки, не особливо в плані функцій - але сумісний практично з будь-яким клієнтом SOAP там -> відмінно підходить для сумісності, слабкий щодо функцій та безпеки
wsHttpBinding - це повномасштабна прив'язка, яка підтримує безліч функцій та стандартів WS- * - у неї набагато більше функцій безпеки, ви можете використовувати сесійні з'єднання, ви можете використовувати надійні повідомлення, ви можете використовувати транзакційний контроль - просто багато іншого , але wsHttpBinding також набагато * важчий "і додає багато накладних витрат вашим повідомленням під час подорожі по мережі
Для поглибленого порівняння (включаючи таблиці та приклади коду) між двома ознайомтесь із цією статтею кодового проекту: Відмінності між BasicHttpBinding та WsHttpBinding