Чим відрізняється веб-посилання від посилання на службу у WCF? Що є кращим у WCF?
Чим відрізняється веб-посилання від посилання на службу у WCF? Що є кращим у WCF?
Відповіді:
Відповідь низького рівня полягає в тому, що веб-довідник створить клієнтський проксі-клас, який дозволяє вашому коду спілкуватися з веб-службою, описаною через WSDL, і спілкуватися через SOAP або HTTP GET (інші плакати вказують, що це лише ASMX, але Веб-посилання також можуть спілкуватися з веб-службами на базі Java або на основі Python або Ruby, якщо всі вони говорять про WSDL та відповідають стандарту сумісності WS-I).
Служба довідок створить клієнтський проксі-клас, який спілкується зі службою на базі WCF: незалежно від того, послуга WCF є веб-службою чи ні.
Веб-довідник дозволяє спілкуватися з будь-якою службою на основі будь-якої технології, яка реалізує WS-I Basic Profile 1.1, і виставляє відповідні метадані як WSDL. Внутрішньо він використовує стек зв'язку ASMX на стороні клієнта.
Довідкова служба дозволяє спілкуватися з будь-якою службою на основі будь-якої технології, яка реалізує будь-який з багатьох протоколів, підтримуваних WCF (включаючи, але не обмежуючись цим базовим профілем WS-I). Внутрішньо він використовує стек зв'язку WCF на стороні клієнта.
Зауважте, що обидва ці визначення досить широкі, і обидва включають сервіси, не написані в .NET.
Цілком можливо (хоча і не рекомендується) додати веб-довідку, яка вказує на сервіс WCF, якщо використовується кінцева точка WCF basicHttpBinding
або якийсь сумісний спеціальний варіант.
Можна також додати службну довідку, яка вказує на послугу ASMX. Під час написання нового коду завжди слід використовувати довідку служби просто тому, що вона є більш гнучкою та надійною.
Client
суфіксом.
Посилання на сервіс - це новіший інтерфейс для додавання посилань на всі види послуг WCF (вони можуть бути не веб-службами), тоді як веб-посилання стосується конкретно веб-посилань ASMX.
Ви можете отримати доступ до веб-посилань за допомогою розширених опцій, щоб додати довідку служби (якщо я пам'ятаю правильно).
Я б скористався посиланням на службу, оскільки, наскільки я це розумію, це новіший механізм цих двох.
Службові посилання стосуються кінцевих точок та прив’язок, які повністю настроюються. Вони дозволяють вказати проксі-клієнта на WCF через будь-який транспортний протокол (HTTP, TCP, Спільна пам'ять тощо)
Вони призначені для роботи з WCF.
Якщо ви використовуєте WebProxy, ви майже зобов’язуєте себе використовувати WCF через HTTP
Ще один момент, який слід взяти до уваги, - це те, що новий інтерфейс для сервісного інтерфейсу надасть вам набагато більшу гнучкість у тому, як ви хочете створити свій клас проксі. Наприклад, це дозволить вам зіставити контракти даних на існуючі dll, якщо вони відповідають (насправді це поведінка за замовчуванням).