Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Windows Communication Foundation (WCF) je architektura pro vytváření aplikací orientovaných na služby. Pomocí WCF můžete odesílat data jako asynchronní zprávy z jednoho koncového bodu služby do jiného. Koncový bod služby může být součástí nepřetržitě dostupné služby hostované službou IIS nebo může být služba hostovaná v aplikaci. Koncový bod může být klientem služby, která požaduje data z koncového bodu služby. Zprávy můžou být stejně jednoduché jako jeden znak nebo slovo odeslané jako XML nebo složité jako datový proud binárních dat. Mezi ukázkové scénáře patří:
Zabezpečená služba pro zpracování obchodních transakcí.
Služba, která poskytuje aktuální data ostatním, například dopravní zprávě nebo jiné monitorovací službě.
Chatovací služba, která umožňuje dvěma lidem komunikovat nebo vyměňovat data v reálném čase.
Aplikace řídicího panelu, která dotazuje jednu nebo více služeb pro data a zobrazuje je logicky.
Zveřejnění pracovního postupu implementovaného pomocí windows Workflow Foundation jako služby WCF
Vytváření takových aplikací bylo možné před existencí WCF, ale WCF usnadňuje vývoj koncových bodů jako nikdy předtím. V souhrnu je SLUŽBA WCF navržená tak, aby nabízela spravovatelný přístup k vytváření webových služeb a klientů webových služeb.
gRPC jako alternativa k WCF
gRPC je moderní architektura RPC, která je oblíbenou alternativou wcf. GRPC je postaven na http/2, která poskytuje řadu výhod oproti WCF, včetně:
- Výkon: gRPC je mnohem efektivnější než WCF, zejména pro dlouhotrvající připojení.
- Škálovatelnost: GRPC je navržená tak, aby se škáluje na velký počet klientů a serverů.
- Zabezpečení: gRPC podporuje celou řadu mechanismů zabezpečení, včetně protokolu TLS a ověřování.
- Multiplatformní: gRPC je platformově neutrální a dá se použít s různými programovacími jazyky.
Další informace o vývoji nebo migraci aplikací WCF do gRPC najdete tady:
Funkce WCF
WCF obsahuje následující sadu funkcí. Další informace najdete v tématu Podrobnosti o funkcích WCF.
Orientace služby
Jedním z důsledků použití standardů WS je, že WCF umožňuje vytvářet aplikace orientované na služby . Architektura zaměřená na služby (SOA) je závislá na webových službách při odesílání a přijímání dat. Služby mají obecnou výhodu, že nejsou těsně provázané, ale místo toho jsou volně provázané z jedné aplikace do druhé. Volně propojený vztah znamená, že každý klient vytvořený na jakékoli platformě se může připojit k jakékoli službě, pokud jsou splněny základní kontrakty.
Interoperabilita
WCF implementuje moderní oborové standardy pro interoperabilitu webových služeb. Další informace o podporovaných standardech najdete v tématu Interoperabilita a integrace.
Více vzorů zpráv
Zprávy se vyměňují v jednom z několika vzorů. Nejběžnějším vzorem je model žádosti a odpovědi, kdy jeden koncový bod požaduje data z druhého koncového bodu. Druhý koncový bod odpoví. Existují i jiné vzory, jako je jednosměrná zpráva, ve které jeden koncový bod odesílá zprávu bez očekávání odpovědi. Složitější vzor je model duplexní výměny, kde dva koncové body navazují připojení a odesílají data zpátky, podobně jako v programu pro zasílání rychlých zpráv. Další informace o implementaci různých vzorů výměny zpráv pomocí WCF naleznete v tématu Kontrakty.
Metadata služby
WCF podporuje publikování metadat služby pomocí formátů zadaných v oborových standardech, jako jsou WSDL, schéma XML a WS-Policy. Tato metadata lze použít k automatickému vygenerování a konfiguraci klientů pro přístup ke službám WCF. Metadata je možné publikovat prostřednictvím protokolu HTTP a HTTPS nebo pomocí standardu Exchange metadat webové služby. Další informace najdete v tématu Metadata.
Datové smlouvy
Jelikož je WCF vytvořen pomocí .NET Framework, zahrnuje také metody přátelské ke kódu pro poskytování kontraktů, které chcete prosadit. Jedním z univerzálních typů kontraktů je kontrakt dat. Při kódování služby pomocí jazyka Visual C# nebo Visual Basic je nejjednodušší způsob zpracování dat vytvořením tříd, které představují datovou entitu s vlastnostmi, které patří k datové entitě. WCF zahrnuje komplexní systém pro práci s daty tímto snadným způsobem. Jakmile vytvoříte třídy představující data, služba automaticky vygeneruje metadata, která klientům umožní dodržovat datové typy, které jste navrhli. Další informace najdete v tématu Použití kontraktů dat.
Zabezpečení
Zprávy můžou být zašifrované, aby chránily ochranu osobních údajů a vy můžete vyžadovat, aby se uživatelé ověřili, než budou moct přijímat zprávy. Zabezpečení lze implementovat pomocí dobře známých standardů, jako je SSL nebo WS-SecureConversation. Další informace naleznete v tématu Zabezpečení.
Více přenosů a kódování
Zprávy je možné odesílat na libovolný z několika předdefinovaných přenosových protokolů a kódování. Nejběžnějším protokolem a kódováním je odesílání textových kódovaných zpráv SOAP pomocí protokolu HTTP (HyperText Transfer Protocol) pro použití na webu. Wcf také umožňuje odesílat zprávy přes protokol TCP, pojmenované kanály nebo MSMQ. Tyto zprávy mohou být kódovány jako text nebo pomocí optimalizovaného binárního formátu. Binární data je možné efektivně odesílat pomocí standardu MTOM. Pokud žádný z poskytnutých přenosů nebo kódování nevyhovuje vašim potřebám, můžete vytvořit vlastní přenos nebo kódování. Další informace o přenosech a kódováních podporovaných wcf naleznete v tématu Přenosy.
Spolehlivé a zařazené zprávy
WCF podporuje spolehlivou výměnu zpráv pomocí spolehlivých relací implementovaných přes zasílání zpráv WS-Reliable a pomocí MSMQ. Další informace o podpoře spolehlivého zasílání zpráv a zasílání zpráv ve frontách ve službě WCF naleznete v tématu Fronty a spolehlivé relace.
Trvalé zprávy
Odolná zpráva je zpráva, která se nikdy neztratí kvůli přerušení komunikace. Zprávy v odolném vzoru zpráv se vždy ukládají do databáze. Pokud dojde k přerušení, databáze vám umožní obnovit výměnu zpráv při obnovení připojení. Pomocí windows Workflow Foundation (WF) můžete také vytvořit odolnou zprávu. Další informace naleznete v tématu Služby pracovního postupu.
Transakce
WCF také podporuje transakce využívající jeden ze tří transakčních modelů: WS-AtomicTransactions, rozhraní API v oboru názvů System.Transactions a Microsoft Distributed Transaction Coordinator. Další informace o podpoře transakcí ve WCF naleznete v tématu Transakce.
Podpora AJAX a REST
Rest je příkladem vyvíjející se technologie Web 2.0. WCF lze nakonfigurovat tak, aby zpracovávala "prostý" data XML, která nejsou zabalena do obálky SOAP. WCF lze také rozšířit tak, aby podporoval konkrétní formáty XML, jako je ATOM (oblíbený standard RSS), a dokonce i formáty bez XML, jako je JavaScript Object Notation (JSON).
Rozšiřitelnost
Architektura WCF má řadu bodů rozšiřitelnosti. Pokud je vyžadována další funkce, existuje řada vstupních bodů, které umožňují přizpůsobit chování služby. Další informace o dostupných bodech rozšiřitelnosti naleznete v tématu Rozšíření WCF.
Integrace WCF s jinými technologiemi Microsoftu
WCF je flexibilní platforma. Kvůli této extrémní flexibilitě se WCF používá také v několika dalších produktech Microsoftu. Pochopením základů WCF máte okamžitou výhodu, pokud používáte také některý z těchto produktů.
První technologií, která se má spárovat s WCF, byla WF (Windows Workflow Foundation). Pracovní postupy zjednodušují vývoj aplikací zapouzdřením kroků v pracovním postupu jako "aktivity". V první verzi Windows Workflow Foundation musel vývojář vytvořit hostitele pro pracovní postup. Další verze Windows Workflow Foundation byla integrovaná se službou WCF. To umožnilo snadno hostovat jakýkoli pracovní postup ve službě WCF. Můžete to provést tak, že automaticky zvolíte typ projektu WF/WCF v sadě Visual Studio 2012 nebo novějším.
Microsoft BizTalk Server R2 také využívá WCF jako komunikační technologii. BizTalk je navržený tak, aby přijímal a transformoval data z jednoho standardizovaného formátu na jiný. Zprávy musí být doručeny do centrálního pole zprávy, kde je možné zprávu transformovat buď pomocí striktního mapování, nebo pomocí některé z funkcí BizTalk, jako je jeho modul pracovního postupu. BizTalk teď může k doručování zpráv do úložiště zpráv použít adaptér WCF Line of Business (LOB).
Funkce hostování aplikačního serveru Windows Server AppFabric jsou speciálně navržené pro nasazení a správu aplikací, které používají WCF ke komunikaci. Funkce hostování zahrnují bohaté možnosti nástrojů a konfigurace speciálně navržené pro aplikace s podporou WCF.