Windows Communication Foundation

Windows Communication Foundation (WCF)
Originalförfattare Microsoft
Utvecklare .NET Foundation
Initial release 21 november 2006 ; 16 år sedan ( 2006-11-21 )
Stabil frisättning
v3.4.0 / 18 augusti 2022 ; 6 månader sedan ( 2022-08-18 )
Förvar github .com /dotnet /wcf
Skrivet i C#
Operativ system Linux , macOS , Windows
Plattform .NET Framework , .NET
Företrädare Förbättringar av webbtjänster
Typ Programvara ramverk
Licens MIT-licens
Hemsida docs .microsoft .com /en-us /dotnet /framework /wcf /index

Windows Communication Foundation ( WCF ), tidigare känd som Indigo , är en gratis körtid med öppen källkod och en uppsättning API :er i .NET Framework för att bygga anslutna, tjänsteorienterade applikationer.

.NET Core 1.0 , släppt 2016, stödde inte WCF-serversidans kod. WCF-stöd lades till plattformen med stöd för .NET Core 3.1, .NET 5 och .NET 6 2022.

Arkitekturen

WCF är ett verktyg som ofta används för att implementera och distribuera en tjänsteorienterad arkitektur ( SOA). Den är designad med hjälp av tjänsteorienterade arkitekturprinciper för att stödja distribuerad datoranvändning där tjänster har fjärranvändare . Kunder kan använda flera tjänster; tjänster kan konsumeras av flera kunder. Tjänsterna är löst kopplade till varandra. Tjänster har vanligtvis ett WSDL- gränssnitt (Web Services Description Language) som alla WCF-klienter kan använda för att konsumera tjänsten, oavsett vilken plattform tjänsten är värd på. WCF implementerar många avancerade webbtjänster (WS) standarder som WS-Addressing , WS-ReliableMessaging och WS-Security . Med lanseringen av .NET Framework 4.0 tillhandahåller WCF även RSS- syndikeringstjänster, WS-Discovery , routing och bättre stöd för REST -tjänster.

Slutpunkter

En WCF-klient ansluter till en WCF-tjänst via en slutpunkt . Varje tjänst exponerar sitt kontrakt via en eller flera slutpunkter. En slutpunkt har en adress (som är en URL som anger var slutpunkten kan nås) och bindande egenskaper som anger hur data ska överföras.

Mnemoniken "ABC" kan användas för att komma ihåg adress / bindning / kontrakt . Bindning anger vilka kommunikationsprotokoll som används för att komma åt tjänsten, om säkerhetsmekanismer ska användas och liknande. WCF inkluderar fördefinierade bindningar för de flesta vanliga kommunikationsprotokoll som SOAP över HTTP, SOAP över TCP och SOAP över meddelandeköer, etc. Interaktion mellan WCF-slutpunkten och klienten görs med hjälp av ett SOAP-envelopp. SOAP-kuvert är i enkel XML-form, vilket gör WCF-plattformsoberoende. När en kund vill komma åt tjänsten via en slutpunkt behöver den inte bara känna till kontraktet, utan den måste också följa den bindning som specificeras av slutpunkten. Sålunda måste både klient och server ha kompatibla slutpunkter.

Med lanseringen av .NET Framework 3.5 i november 2007 släppte Microsoft en kodare som lade till stöd för JSON- serialiseringsformatet till WCF.

Beteenden

Beteenden är typer som modifierar eller utökar tjänsten eller klientens funktionalitet. Beteenden gör det möjligt för utvecklaren att skapa anpassad bearbetning, transformation eller inspektion som tillämpas på meddelanden när de skickas eller tas emot. Några exempel på användningsområden för beteenden är:

  • Styr om metadata publiceras med en tjänst.
  • Lägga till säkerhetsfunktioner till en tjänst, som identitetsstöld, auktorisering eller hantering av tokens
  • Registrera information om meddelanden, såsom spårning, spårning eller loggning
  • Meddelande eller parametervalidering
  • Anropar alla ytterligare åtgärder när meddelanden tas emot – som att meddela användare när vissa meddelanden kommer

Behaviors implementerar IServiceBehavior- gränssnittet för tjänstetillägg, IEndpointBehavior för endpoints, IContractBehavior- gränssnittet för servicekontrakt eller IOperationBehavior för operationer. Tjänstbeteenden används för meddelandebehandling över en tjänst, snarare än bearbetning som skulle vara specifik för en enskild operation.

Interoperabilitet

WCF stöder interoperabilitet med WCF-applikationer som körs på samma Windows-dator eller WCF som körs på en annan Windows-dator eller standardwebbtjänster byggda på plattformar som Java som körs på Windows eller andra operativsystem. Förutom SOAP stöder WCF 4 icke-SOAP XML, RSS , JSON och binära format för extern kommunikation via HTTP eller HTTPS .

Se även

Vidare läsning

  •   Craig McMurtry, Marc Mercuri och Nigel Watling: Microsoft Windows Communication Foundation: Hands-On , SAMS Publishing, 26 maj 2004, ISBN 0-672-32877-1
  •   Steve Resnick, Richard Crane, Chris Bowen: Essential Windows Communication Foundation (WCF): For .NET Framework 3.5 , Addison-Wesley, 11 februari 2008, ISBN 0-321-44006-4
  •   Craig McMurtry, Marc Mercuri, Nigel Watling, Matt Winkler: Windows Communication Foundation Unleashed (WCF) , Sams Publishing, 6 mars 2007, ISBN 0-672-32948-4
  •   Juval Löwy: Programming WCF Service , O'Reilly Media, Inc., 20 februari 2007, ISBN 0-596-52699-7
  •   Pablo Cibraro, Kurt Claeys, Fabio Cozzolino, Johann Grabner: Professional WCF 4: Windows Communication Foundation med .NET 4 , Wrox, 15 juni 2010, ISBN 0-470-56314-1
  •   Andrew Zhu: Microsoft Windows Workflow Foundation 4.0 Cookbook: Kapitel 3 , Packt Publishing, september 2010, ISBN 978-1-84968-078-3

externa länkar