WCF програмиране: Създаване на базирани на услуги приложения за Windows

Разкриване на информация Вашата поддръжка помага за поддържането на сайта! Печелим такса за препращане за някои от услугите, които препоръчваме на тази страница.


Фондът за комуникация с Windows (WCF) е среда за изпълнение и набор от API в .NET Framework, използван при създаването на свързани с услугата свързани приложения. WCF е унифициран модел на програмиране на Microsoft за изграждане на услуги, ориентирани към услуги.

Кратка история

Повишената популярност на обслужваната комуникация и приложения през последното десетилетие оказа дълбоко влияние върху разработката на софтуер. Приложенията разчитат на различни услуги за взаимодействие са се превърнали в норма. На платформата за разработка на Microsoft на Microsoft тези промени бяха станали възможни от комуникационната платформа на Windows (WCF).

WCF беше представен за първи път като част от .NET Framework 3.0 през 2006 г. и по-нататък актуализиран във .NET Framework версии 3.5 и 4.0. Последната версия на WCF се предлага като част от .NET Framework версия 4.5.

Фондът за комуникация с Windows се използва в голяма част от софтуера, базиран на .NET Framework.

Удобства в WCF

WCF е инструмент за разработчици, създаващи ориентирани към услуги приложения, като разчитат на уеб услуги за изпращане и получаване на данни. Уеб услугите имат общо предимство да бъдат свободно свързани, вместо да бъдат кодирани специално за всяко приложение. С други думи, всяко приложение, създадено на всяка платформа, може да се свърже с всяка услуга.

WCF внедрява съвременни индустриални стандарти за оперативна съвместимост на уеб услуги, като HTTP, SOAP, XML, WS-адресиране, адресиране на W3C Web Services и много други. Съобщенията (или трябва да кажем данни) могат да бъдат обменяни в няколко различни модела.

Най-често срещаният модел на комуникация е заявка-отговор, но WCF поддържа и други модели, като еднопосочни съобщения или двустранен обмен. Съобщенията могат да бъдат криптирани за защита на данните и автентичността на потребителя може да бъде наложена. Сигурността се реализира с помощта на стандартни решения като SSL или WS-SecureConversation. Съобщенията могат да се транспортират с помощта на различни протоколи и кодировки, най-често като текстово кодирани SOAP съобщения през HTTP. WCF също така поддържа изпращане на съобщения през TCP, MSMQ или наречени тръби, кодирани като текст или използване на оптимизиран двоичен файл, използвайки MTOM стандарта. Могат да бъдат създадени и персонализирани транспортни протоколи и кодировки.

WCF поддържа надежден обмен на съобщения, използвайки сесии, реализирани през WS-надежденMessaging и на опашки съобщения с помощта на MSMQ. Поддръжката за трайни съобщения също е вградена в WCF, предотвратявайки загубата на данни, причинена от проблеми с комуникацията.

Широка поддръжка на транзакции е налична в WCF, като се използва един от три модела транзакции: WS-AtomicTransaction, API-ите от пространството на имена на System.Transaction или Microsoft Distributed Transaction Coordinator.

WCF е много гъвкава платформа, позволяваща лесно разширяване и интегриране с други технологии на Microsoft, например фондация Windows Workflow Foundation (WF), Microsoft BizTalk и Silverlight.

Използване на WCF

WCF всъщност е общ механизъм за комуникация, използван за настройване на комуникация клиент-домакин между две страни. Именно това го прави толкова полезен, тъй като можете да конфигурирате сервизни параметри като транспортен протокол, сигурност, кодиране и т.н. – без промяна на кода на клиентското приложение. Можете също така да настроите комуникация между услугите и клиентите, написани на различни езици за програмиране, работещи на различни платформи.

Създаването на WCF услуга и клиент в ID Visual Studio изисква шест стъпки:

  1. Дефинирането на WCF договор за услуга определя операциите, поддържани от услуга. Договорите се създават чрез дефиниране на интерфейс C ++, C # или Visual Basic и всеки метод в интерфейса трябва да съответства на конкретна операция на услугата. Всеки интерфейс трябва да има приложен към него ServiceContractAttribute и всяка операция трябва да прилага прилагането OperationContractAttribute, в противен случай те няма да бъдат изложени.
  2. Изпълнението на договор за услуга се извършва чрез създаване на клас, който реализира потребителски зададения интерфейс за услугата.
  3. Хостинг и изпълнение на WCF услуга се състои от следните задачи: създаване на URI инстанция за базов адрес на услугата, хостинг на услугата, добавяне на крайна точка, която излага услугата, позволяваща обмен на метаданни и отваряне на хост на услугата.
  4. Създаването на клиент включва генериране на прокси към услугата и конфигурационен файл с помощта на командния ред Service Model Metadata Utility Tool.
  5. Конфигурирането на клиент се състои в уточняване на крайната точка, която клиентът използва за достъп до услугата. Крайната точка има адрес, обвързващ и договор и всяка от тях трябва да бъде посочена в процеса на конфигуриране на клиента.
  6. Използването на клиент всъщност извиква услугата от генерирания прокси и затваря клиента, след като операционното повикване приключи.

Използването на шаблона на библиотеката за WCF услуга или шаблона за приложение на WCF услуга в Visual Studio може значително да опрости стъпките, споменати по-горе, тъй като повечето от описаните задачи ще се извършват автоматично.

Трябва ли да уча и да използвам WCF?

В повечето случаи се свежда до конкретна задача: как може да бъде решена и кое е най-ефикасното и доказано в бъдеще решение? Може би прост пример е най-добрият отговор на този въпрос.

Вие разработвате софтуерен пакет за точки за продажба на клиент с много разпръснати продажби и трябва да се свържете със съществуващата основна бизнес SQL база данни на клиента. Има две вероятни решения. Първият е да настроите WAN и да свържете всички търговски места на клиента към основната база данни с помощта на рутери или VPN връзки.

Второто решение е просто да внедрите WCF клиент-сървър и да получите достъп до базата данни през интернет. В много сценарии използването на WCF може да бъде много полезно и икономично.

Ресурси на WCF

Ако работите върху разработването на клиент-сървърни приложения за платформата на Microsoft, трябва да разгледате следните ресурси на WCF:

  • Основната страница на Фондацията на Microsoft за разработчици на Microsoft (MSDN) предоставя пълен преглед на WCF – включително документация, референтни ресурси, ръководства и ръководства.
  • Разделът на мрежата за разработчици на Microsoft (MSDN) WCF в Visual Studio описва инструментите на WCF, налични в Visual Studio и предоставя кратки инструкции.
  • Сценариите за внедряване на приложение на Microsoft Developer Network (MSDN) са хубава статия, показваща различни сценарии и случаи на използване на WCF.

WCF Книги

Подбрахме няколко най-уважаваните книги за WCF:

  • Програмиране на WCF Services: Проектиране и изграждане на устойчиви услуги, ориентирани към услуги (2015) от Ювал Лоуи и Майкъл Монтгомъри: тази книга предоставя уникален поглед, а не документация, за да ви помогне да научите темите и уменията, които са ви необходими за изграждането на поддръжка, разширяемост и многократна употреба WCF-базирани приложения.
  • Разработка на многопластови услуги на WCF с Entity Framework (2014) от Майк Лиу: ако сте разработчик на C #, VB.NET или C ++ и искате да започнете с WCF и Entity Framework, тогава тази книга е за вас. Тази книга ще ви научи на всички основни неща за разработване на WCF услуги, използвайки Entity Framework като резервен.

заключение

Тъй като WCF е продукт на Microsoft, разчитайки на .NET Framework за създаване на сервизно ориентирани софтуерни решения, той има постоянна сила. Не е ново, но все пак е уместно и вероятно ще бъде с години напред.

Вече очертахме няколко случая, при които WCF може да направи голяма промяна от техническа гледна точка. Въпреки че е технология на Microsoft, WCF поддържа оперативна съвместимост с повечето системи извън Windows, стига те да работят с Java.

Допълнително четене и ресурси

Имаме още ръководства, ръководства и инфографика, свързани с кодирането и разработката:

  • Microsoft Visual Basic / Visual Studio: това е основният ни грунд за Visual Studio с акцент върху Visual Basic.
  • Въведение в ADO.NET: основната .NET система за взаимодействие с бази данни.
  • C # ресурси: като един от най-популярните езици в .NET firmament, C # е много полезно да знаете.

Какъв код трябва да научите?

Объркани в какъв език за програмиране трябва да се научите да кодирате? Вижте нашата инфография, какъв код трябва да научите? Той не само обсъжда различни аспекти на езиците, а отговаря на важни въпроси от рода на: „Колко пари ще спечеля за програмиране на Java за прехрана?“

Какъв код трябва да научите?
Какъв код трябва да научите?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map