Megosztás a következőn keresztül:


Mi az a Windows Communication Foundation?

A Windows Communication Foundation (WCF) a szolgáltatásorientált alkalmazások kiépítésének keretrendszere. A WCF használatával aszinkron üzenetként küldhet adatokat az egyik szolgáltatásvégpontról a másikra. A szolgáltatásvégpont lehet az IIS által üzemeltetett, folyamatosan elérhető szolgáltatás része, vagy lehet egy alkalmazásban üzemeltetett szolgáltatás. A végpont lehet olyan szolgáltatás ügyfele, amely adatokat kér le egy szolgáltatásvégponttól. Az üzenetek lehetnek olyan egyszerűek, mint az XML-ként küldött egyetlen karakter vagy szó, vagy olyan összetettek, mint a bináris adatok adatfolyama. Néhány példaforgatókönyv:

  • Biztonságos szolgáltatás az üzleti tranzakciók feldolgozásához.

  • Olyan szolgáltatás, amely az aktuális adatokat látja el másokkal, például forgalmi jelentéssel vagy más figyelési szolgáltatással.

  • Egy csevegőszolgáltatás, amely lehetővé teszi, hogy két személy valós időben kommunikáljon vagy kicseréljen adatokat.

  • Egy irányítópult-alkalmazás, amely egy vagy több szolgáltatást kérdez le az adatokhoz, és egy logikai bemutatóban jeleníti meg.

  • A Windows Workflow Foundation használatával WCF-szolgáltatásként implementált munkafolyamat megjelenítése.

Bár az ilyen alkalmazások létrehozása a WCF megléte előtt lehetséges volt, a WCF minden eddiginél egyszerűbbé teszi a végpontok fejlesztését. Összefoglalva, a WCF úgy lett kialakítva, hogy kezelhető megközelítést kínáljon a webszolgáltatások és a webszolgáltatás-ügyfelek létrehozásához.

gRPC a WCF alternatívaként

A gRPC egy modern RPC-keretrendszer, amely a WCF népszerű alternatíva. A gRPC a HTTP/2-n alapul, amely számos előnyt biztosít a WCF-sel szemben, beleértve a következőket:

  • Teljesítmény: a gRPC sokkal hatékonyabb, mint a WCF, különösen a hosszú ideig futó kapcsolatok esetében.
  • Méretezhetőség: a gRPC nagy számú ügyfélre és kiszolgálóra skálázható.
  • Biztonság: a gRPC számos biztonsági mechanizmust támogat, beleértve a TLS-t és a hitelesítést.
  • Platformfüggetlen: a gRPC platformsemleges, és számos programozási nyelvvel használható.

A WCF-alkalmazások gRPC-be való fejlesztésével vagy migrálásával kapcsolatos további információkért lásd:

A WCF funkciói

A WCF a következő funkciókat tartalmazza. További információkért lásd a WCF szolgáltatás részleteit.

  • Szolgáltatás tájolása

    A WS-szabványok használatának egyik következménye, hogy a WCF lehetővé teszi szolgáltatásorientált alkalmazások létrehozását. A szolgáltatásorientált architektúra (SOA) az adatok küldéséhez és fogadásához szükséges webszolgáltatásokra támaszkodik. A szolgáltatások általános előnye, hogy lazán össze vannak állítva, nem pedig az egyik alkalmazásból a másikba kódoltak. A lazán összekapcsolt kapcsolatok azt jelentik, hogy bármely platformon létrehozott ügyfél bármilyen szolgáltatáshoz csatlakozhat, amíg az alapvető szerződések teljesülnek.

  • Együttműködési lehetőség

    A WCF modern iparági szabványokat vezet be a webszolgáltatások közötti együttműködéshez. A támogatott szabványokról további információt az együttműködési és integrációs cikkben talál.

  • Több üzenetminta

    Az üzeneteket a rendszer több minta egyikében cseréli le. A leggyakoribb minta a kérés/válasz minta, ahol az egyik végpont egy második végponttól kér adatokat. A második végpont válaszol. Vannak más minták is, például egy egyirányú üzenetek, amelyekben egyetlen végpont válasz nélkül küld üzenetet. Összetettebb minta a kétoldalas csereminta, ahol két végpont létesít kapcsolatot, és adatokat küld oda-vissza, hasonlóan egy csevegőprogramhoz. További információ a különböző üzenetcsere-minták WCF használatával történő implementálásáról: Szerződések.

  • Szolgáltatás metaadatai

    A WCF támogatja a szolgáltatás metaadatainak közzétételét olyan iparági szabványokban meghatározott formátumok használatával, mint a WSDL, az XML-séma és a WS-Policy. Ez a metaadatok segítségével automatikusan létrehozhat és konfigurálhat ügyfeleket a WCF-szolgáltatások eléréséhez. A metaadatok HTTP-en és HTTPS-en keresztül vagy a Web Service Metadata Exchange szabvány használatával tehetők közzé. További információ: Metaadatok.

  • Adatszerződések

    Mivel a WCF a .NET-keretrendszer használatával készült, kódbarát módszereket is tartalmaz a kikényszeríteni kívánt szerződések megadására. A szerződések egyik univerzális típusa az adatszerződés. Lényegében, amikor a szolgáltatást Visual C# vagy Visual Basic használatával kódoljuk, az adatok kezelésének legegyszerűbb módja az, ha olyan osztályokat hozunk létre, amelyek egy adatentitást képviselnek az adatentitáshoz tartozó tulajdonságokkal. A WCF egy átfogó rendszert tartalmaz az adatok ilyen egyszerű kezeléséhez. Miután létrehozta az adatokat képviselő osztályokat, a szolgáltatás automatikusan létrehozza azokat a metaadatokat, amelyek lehetővé teszik az ügyfelek számára, hogy megfeleljenek a tervezett adattípusoknak. További információ: Adatszerződések használata.

  • Biztonság

    Az üzenetek titkosíthatók az adatvédelem érdekében, és megkövetelheti a felhasználóktól, hogy hitelesítsék magukat, mielőtt engedélyezve lenne az üzenetek fogadása. A biztonság olyan ismert szabványok használatával valósítható meg, mint az SSL vagy a WS-SecureConversation. További információ: Biztonság.

  • Több átvitel és kódolás

    Az üzenetek számos beépített átviteli protokollon és kódoláson keresztül küldhetők. A leggyakoribb protokoll és kódolás a szöveges kódolású SOAP-üzenetek küldése a HyperText Transfer Protocol (HTTP) használatával a világhálón való használatra. Másik lehetőségként a WCF lehetővé teszi, hogy TCP-n, elnevezett csöveken vagy MSMQ-n keresztül küldjön üzeneteket. Ezek az üzenetek szövegként vagy optimalizált bináris formátumban kódolhatók. A bináris adatok hatékonyan küldhetők el az MTOM szabvány használatával. Ha a megadott átvitelek vagy kódolások egyike sem felel meg az igényeinek, létrehozhatja saját egyéni átvitelét vagy kódolását. A WCF által támogatott átvitelekről és kódolásokról további információt a Transports (Szállítások) című témakörben talál.

  • Megbízható és üzenetsorba helyezett üzenetek

    A WCF a WS-Reliable Messaging és az MSMQ használatával megvalósított megbízható munkamenetek használatával támogatja a megbízható üzenetcserét. A WCF megbízható és üzenetsoros üzenetküldési támogatásáról további információt az Üzenetsorok és a Megbízható munkamenetek című témakörben talál.

  • Tartós üzenetek

    A tartós üzenet olyan üzenet, amely soha nem vesz el a kommunikáció megszakadása miatt. A tartós üzenetminta üzenetei mindig egy adatbázisba kerülnek. Ha megszakad a kapcsolat, az adatbázis lehetővé teszi az üzenetváltás folytatását a kapcsolat visszaállításakor. Tartós üzenetet a Windows Workflow Foundation (WF) használatával is létrehozhat. További információ: Munkafolyamat-szolgáltatások.

  • Tranzakciók

    A WCF a három tranzakciómodell egyikét használó tranzakciókat is támogatja: a WS-AtomicTransactions, a névtér API-jai és a System.Transactions Microsoft Distributed Transaction Coordinator. A WCF tranzakciótámogatásával kapcsolatos további információkért lásd a Tranzakciók című témakört.

  • AJAX és REST-támogatás

    A REST egy fejlődő Web 2.0-technológia példája. A WCF konfigurálható olyan "egyszerű" XML-adatok feldolgozására, amelyek nincsenek SOAP-borítékba csomagolva. A WCF kiterjeszthető bizonyos XML-formátumok, például az ATOM (népszerű RSS-szabvány) és a nem XML-formátumok, például a JavaScript Object Notation (JSON) támogatására is.

  • Bővíthetőség

    A WCF-architektúra számos bővíthetőségi ponttal rendelkezik. Ha további képességekre van szükség, számos belépési pont van, amelyek lehetővé teszik a szolgáltatás viselkedésének testreszabását. Az elérhető bővíthetőségi pontokról további információt a WCF kiterjesztése című témakörben talál.

WCF-integráció más Microsoft-technológiákkal

A WCF egy rugalmas platform. Ezen rendkívüli rugalmasság miatt a WCF-et számos más Microsoft-termékben is használják. A WCF alapjainak megismerésével azonnali előnyt élvez, ha ezen termékek bármelyikét is használja.

A WCF-vel való párosítás első technológiája a Windows Workflow Foundation (WF) volt. A munkafolyamatok leegyszerűsítik az alkalmazásfejlesztést a munkafolyamat lépéseinek "tevékenységekként" való beágyazásával. A Windows Workflow Foundation első verziójában a fejlesztőnek létre kellett hoznia egy gazdagépet a munkafolyamathoz. A Windows Workflow Foundation következő verziója integrálva lett a WCF-sel. Ez lehetővé tette, hogy bármely munkafolyamat könnyen üzemeltethető legyen egy WCF-szolgáltatásban. Ezt úgy teheti meg, hogy automatikusan kiválasztja a WF/WCF projekttípust a Visual Studio 2012-ben vagy újabb verziójában.

A Microsoft BizTalk Server R2 kommunikációs technológiaként is használja a WCF-et. A BizTalk úgy lett kialakítva, hogy adatokat fogadjon és alakítson át egy szabványosított formátumból egy másikba. Az üzeneteket a központi üzenetmezőbe kell kézbesíteni, ahol az üzenet átalakítható szigorú leképezéssel vagy a BizTalk egyik funkciójával, például a munkafolyamat-motorjával. A BizTalk mostantól a WCF Üzletági (LOB) adapter használatával küldhet üzeneteket az üzenetmezőbe.

A Windows Server AppFabric alkalmazáskiszolgáló üzemeltetési funkciói kifejezetten a WCF-et kommunikációra használó alkalmazások üzembe helyezésére és kezelésére szolgálnak. Az üzemeltetési funkciók közé tartoznak a kifejezetten WCF-kompatibilis alkalmazásokhoz tervezett gazdag eszközök és konfigurációs lehetőségek.

Lásd még