WCF-programmering: Opret servicebaserede Windows-applikationer

Afsløring: Din support hjælper med at holde webstedet kørt! Vi tjener et henvisningsgebyr for nogle af de tjenester, vi anbefaler på denne side.


Windows Communication Foundation (WCF) er et runtime-miljø og et sæt API’er i .NET Framework, der bruges til oprettelse af serviceorienterede, tilsluttede applikationer. WCF er Microsofts samlede programmeringsmodel til opbygning af serviceorienterede applikationer.

Kort historie

Den øgede popularitet af serviceorienteret kommunikation og applikationer i det sidste årti har haft en stor indflydelse på softwareudvikling. Ansøgninger er afhængige af forskellige tjenester til interaktion er blevet normen. På Microsofts Windows-udviklingsplatform blev disse ændringer muliggjort af Windows Kommunikationsplatform (WCF).

WCF blev først introduceret som en del af .NET Framework 3.0 i 2006 og opdateret yderligere i .NET Framework version 3.5 og 4.0. Den seneste version af WCF er tilgængelig som en del af .NET Framework version 4.5.

Windows Communication Foundation bruges i meget af softwaren baseret på .NET Framework.

WCF-funktioner

WCF er et værktøj til udviklere, der opretter serviceorienterede applikationer, der er afhængige af webservices til at sende og modtage data. Webtjenester har en generel fordel ved at være løst koblet i stedet for at kodes specifikt til hver applikation. Med andre ord kan ethvert program oprettet på en hvilken som helst platform oprette forbindelse til enhver tjeneste.

WCF implementerer moderne industristandarder for interoperabilitet med webtjenester, såsom HTTP, SOAP, XML, WS-adressering, W3C Web Services Addressing og mange flere. Meddelelser (eller skal vi sige data) kan udveksles i flere forskellige mønstre.

Det mest almindelige kommunikationsmønster er anmodning-svar, men WCF understøtter også andre mønstre, f.eks. Envejsmeddelelser eller duplexudvekslingsmønsteret. Meddelelser kan krypteres til databeskyttelse, og brugergodkendelse kan håndhæves. Sikkerhed implementeres ved hjælp af industristandardløsninger som SSL eller WS-SecureConversation. Meddelelser kan transporteres ved hjælp af forskellige protokoller og kodninger, oftest som tekstkodede SOAP-meddelelser via HTTP. WCF understøtter også afsendelse af meddelelser over TCP, MSMQ eller navngivne rør, kodet som tekst eller ved hjælp af en optimeret binær vha. MTOM-standarden. Tilpassede transportprotokoller og kodinger kan også oprettes.

WCF understøtter pålidelig meddelelsesudveksling ved hjælp af sessioner implementeret via WS-ReliableMessaging og kømeddelelser ved hjælp af MSMQ. Support til holdbar meddelelse er også indbygget i WCF, hvilket forhindrer datatab forårsaget af kommunikationsproblemer.

Omfattende transaktionssupport er tilgængelig i WCF ved hjælp af en af ​​tre transaktionsmodeller: WS-AtomicTransactions, API’erne fra System.Transaction-navneområdet eller Microsoft Distribueret transaktionskoordinator.

WCF er en meget fleksibel platform, der giver mulighed for nem udvidelse og integration med andre Microsoft-teknologier, f.eks. Windows Workflow Foundation (WF), Microsoft BizTalk og Silverlight.

Brug af WCF

WCF er faktisk en generisk kommunikationsmekanisme, der bruges til at oprette klient-vært-kommunikation mellem to parter. Det er det, der gør det så nyttigt, da du kan konfigurere serviceparametre som transportprotokol, sikkerhed, kodning og så videre – uden nogen ændring af klientapplikationskoden. Du kan også konfigurere kommunikation mellem tjenester og klienter skrevet på forskellige programmeringssprog, der kører på forskellige platforme.

Oprettelse af en WCF-service og en klient i Visual Studio IDE kræver seks trin:

  1. Definition af en WCF-servicekontrakt specificerer de operationer, der understøttes af en service. Kontrakter oprettes ved at definere en C ++, C # eller Visual Basic-grænseflade, og hver metode i grænsefladen skal svare til en bestemt serviceoperation. Hver grænseflade skal have ServiceContractAttribute anvendt på den, og hver handling skal have OperationContractAttribute anvendt, ellers bliver de ikke udsat for.
  2. Implementering af en servicekontrakt udføres ved at oprette en klasse, der implementerer den brugerdefinerede grænseflade til tjenesten.
  3. Hosting og drift af en WCF-service består af følgende opgaver: oprettelse af en URI-instans til baseadressen for tjenesten, hosting af tjenesten, tilføjelse af et slutpunkt, der afslører tjenesten, aktivering af metadataudveksling og åbning af servicehost.
  4. Oprettelse af en klient inkluderer generering af en proxy til tjenesten og en konfigurationsfil ved hjælp af kommandolinjen Service Model Metadata Utility Tool.
  5. Konfiguration af en klient består af at specificere det slutpunkt, som klienten bruger til at få adgang til tjenesten. Et slutpunkt har en adresse, en binding og en kontrakt, og hver af disse skal specificeres i processen med at konfigurere klienten.
  6. Brug af en klient ringer faktisk tjenesten fra den genererede proxy og lukker klienten, når operationskaldet er afsluttet.

Brug af WCF Service Library-skabelonen eller WCF Service Application-skabelonen i Visual Studio kan markant forenkle trinnene nævnt ovenfor, da de fleste af de beskrevne opgaver udføres automatisk.

Skal jeg lære og bruge WCF?

I de fleste tilfælde kommer det til en konkret opgave: hvordan den kan løses, og hvad er den mest effektive og fremtidssikre løsning? Måske er et simpelt eksempel det bedste svar på dette spørgsmål.

Du udvikler en softwarepakke til salg for en klient med mange spredte salgssteder, og du er nødt til at oprette forbindelse til kundens eksisterende SQL-database med kerneforretning. Der er to sandsynlige løsninger. Den første er at oprette et WAN og forbinde alle klientens salgssteder til kernedatabasen ved hjælp af routere eller VPN-forbindelser.

Den anden løsning er blot at implementere en WCF-klient-serverløsning og få adgang til databasen over internettet. I mange scenarier kan brug af WCF være meget nyttigt og økonomisk.

WCF Resources

Hvis du arbejder med at udvikle klient-server-applikationer til Microsoft-platformen, skal du tage et kig på følgende ressourcer på WCF:

  • Microsoft Developer Network (MSDN) Windows Communication Foundation-hovedsiden giver et fuldt overblik over WCF – inklusive dokumentation, referenceressourcer, vejledninger og tutorials.
  • Microsoft Developer Network (MSDN) WCF i Visual Studio-afsnittet beskriver de WCF-værktøjer, der er tilgængelige i Visual Studio, og giver korte vejledninger.
  • Microsoft Developer Network (MSDN) WCF Application Deployment Scenarios er en dejlig artikel, der viser forskellige WCF-brugsscenarier og anvendelsessager.

WCF Bøger

Vi valgte et par mest respekterede bøger om WCF:

  • Programmering WCF Services: Design and Build Maintainable Service Oriented Systems (2015) af Juval Lowy og Michael Montgomery: denne bog giver unik indsigt snarere end dokumentation for at hjælpe dig med at lære de emner og færdigheder, du har brug for til at opbygge vedligeholdelig, udvides og genbruges WCF-baserede applikationer.
  • WCF Multi-Layer Services Development with Entity Framework (2014) af Mike Liu: Hvis du er en C #, VB.NET eller C ++ -udvikler og vil komme i gang med WCF og Entity Framework, så er denne bog for dig. Denne bog vil lære dig alle de vigtigste ting for at udvikle WCF-tjenester ved hjælp af Entity Framework som backend.

Konklusion

Da WCF er et Microsoft-produkt, der er afhængig af .NET Framework til oprettelse af serviceorienterede softwareløsninger, har det opholdskraft. Det er ikke nyt, men det er stadig relevant og vil sandsynligvis være i de kommende år.

Vi har allerede skitseret et par tilfælde, hvor WCF kan gøre en stor forskel fra et teknisk perspektiv. Mens det er en Microsoft-teknologi, understøtter WCF interoperabilitet med de fleste ikke-Windows-systemer, så længe de kører Java.

Yderligere læsning og ressourcer

Vi har flere guider, tutorials og infografik relateret til kodning og udvikling:

  • Microsoft Visual Basic / Visual Studio: dette er vores grundlæggende primer på Visual Studio med fokus på Visual Basic.
  • Introduktion til ADO.NET: det vigtigste .NET-system til interaktion med databaser.
  • C # Ressourcer: som et af de mest populære sprog i .NET firmament er C # meget nyttigt at vide.

Hvilken kode skal du lære?

Forvirret over hvilket programmeringssprog du skal lære at kode i? Se vores infographic, hvilken kode skal du lære? Det diskuterer ikke kun forskellige aspekter af sprogene, det besvarer vigtige spørgsmål som ”Hvor mange penge vil jeg tjene til at programmere Java til en levevej?”

Hvilken kode skal du lære?
Hvilken kode skal du lære?

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