Dela via


Migrera ASP.NET Webbtjänster till WCF

ASP.NET tillhandahåller .NET Framework-klassbibliotek och -verktyg för att skapa webbtjänster, samt faciliteter för värdtjänster inom Internet Information Services (IIS). Windows Communication Foundation (WCF) tillhandahåller .NET Framework-klassbibliotek, verktyg och värdfunktioner för att göra det möjligt för programvaruentiteter att kommunicera med hjälp av protokoll, inklusive de som används av webbtjänster. Genom att migrera ASP.NET Web Services till WCF kan dina program dra nytta av nya funktioner och förbättringar som är unika för WCF.

WCF har flera viktiga fördelar jämfört med ASP.NET webbtjänster. Även om ASP.NET webbtjänstverktyg endast används för att skapa webbtjänster, tillhandahåller WCF verktyg som kan användas när programvaruentiteter måste göras för att kommunicera med varandra. Detta minskar antalet tekniker som utvecklare måste känna till för att hantera olika scenarier för programvarukommunikation, vilket i sin tur kommer att minska kostnaderna för programvaruutvecklingsresurser samt tiden för att slutföra programutvecklingsprojekt.

Även för utvecklingsprojekt för webbtjänster stöder WCF fler webbtjänstprotokoll än ASP.NET stöd för webbtjänster. Dessa ytterligare protokoll ger mer avancerade lösningar som bland annat omfattar tillförlitliga sessioner och transaktioner.

WCF stöder fler protokoll för att transportera meddelanden än ASP.NET webbtjänster. ASP.NET webbtjänster har endast stöd för att skicka meddelanden med hjälp av Hypertext Transfer Protocol (HTTP). WCF stöder sändning av meddelanden med hjälp av HTTP, samt TCP (Transmission Control Protocol), namngivna pipes och Microsoft Message Queuing (MSMQ). Ännu viktigare är att WCF kan utökas för att stödja ytterligare transportprotokoll. Därför kan programvara som utvecklats med WCF anpassas för att fungera tillsammans med en bredare mängd annan programvara, vilket ökar den potentiella avkastningen på investeringen.

WCF tillhandahåller mycket rikare funktioner för att distribuera och hantera program än ASP.NET webbtjänster tillhandahåller. Förutom ett konfigurationssystem, som ASP.NET också har, erbjuder WCF en konfigurationsredigerare, aktivitetsspårning från avsändare till mottagare och tillbaka via valfritt antal mellanhänder, ett spårningsvisare, meddelandeloggning, ett stort antal prestandaräknare och stöd för Windows Management Instrumentation.

Med tanke på dessa potentiella fördelar med WCF i förhållande till ASP.NET webbtjänster, om du använder eller överväger att använda ASP.NET webbtjänster har du flera alternativ:

  • Fortsätt att använda ASP.NET webbtjänster och avstå från de fördelar som erbjuds av WCF.

  • Fortsätt att använda ASP.NET webbtjänster med avsikten att införa WCF någon gång i framtiden. Avsnitten i det här avsnittet beskriver hur du maximerar utsikterna för att kunna använda nya ASP.NET webbtjänstprogram tillsammans med framtida WCF-program. Ämnena i det här avsnittet beskriver också hur du skapar nya ASP.NET webbtjänster för att göra det enklare att migrera dem till WCF. Men om det är viktigt att skydda tjänsterna, eller om tillförlitlighet eller transaktionsgarantier krävs, eller om anpassade hanteringsanläggningar måste konstrueras, är det ett bättre alternativ att införa WCF. WCF är utformat för just sådana scenarier.

  • Anta WCF för ny utveckling, samtidigt som du fortsätter att underhålla dina befintliga ASP.NET webbtjänstprogram. Det här valet är sannolikt det optimala valet. Det ger fördelarna med WCF, samtidigt som kostnaden för att ändra befintliga program för att använda den besparas. I det här scenariot kan nya WCF-program samexistera med befintliga ASP.NET program. Nya WCF-program kommer att kunna använda befintliga ASP.NET webbtjänster, och WCF kan användas för att programmera nya driftfunktioner i befintliga ASP.NET program på grund av WCF ASP.NET kompatibilitetsläge.

  • Anta WCF och migrera befintliga ASP.NET webbtjänstprogram till WCF. Du kan välja det här alternativet för att förbättra befintliga program med funktioner som tillhandahålls av WCF eller återskapa funktionerna i befintliga ASP.NET webbtjänster i nya, kraftfullare WCF-program.

Kommentar

Var försiktig om en WCF-tjänst hanteras av IIS 5.x och ASP.NET avinstalleras. När en WCF-tjänst hanteras av IIS 5.x kan koden för tjänsten begäras om ASP.NET avinstalleras. När ASP.NET avinstalleras på ett operativsystem som kör IIS 5.x och WCF avinstalleras, betraktas en fil med .svc-tillägget som en textfil och innehållet, inklusive eventuell källkod, returneras till beställaren.

Det här avsnittet beskriver de här alternativen i detalj, jämför ASP.NET Web Services med WCF och innehåller instruktioner för hur du migrerar din ASP.NET Web Services-kod till WCF.

Se även