Webb-API för WCF och ASP.NET
WCF är Microsofts enhetliga programmeringsmodell för att skapa tjänstorienterade program. Det gör det möjligt för utvecklare att skapa säkra, tillförlitliga, transacted lösningar som integreras mellan plattformar och samverkar med befintliga investeringar. ASP.NET webb-API är ett ramverk som gör det enkelt att skapa HTTP-tjänster som når en mängd olika klienter, inklusive webbläsare och mobila enheter. ASP.NET webb-API är en idealisk plattform för att skapa RESTful-program i .NET Framework. Det här avsnittet innehåller vägledning som hjälper dig att avgöra vilken teknik som bäst uppfyller dina behov.
Välja vilken teknik som ska användas
I följande tabell beskrivs de viktigaste funktionerna i varje teknik.
WCF | ASP.NET Web API |
---|---|
Möjliggör byggtjänster som stöder flera transportprotokoll (HTTP, TCP, UDP och anpassade transporter) och tillåter växling mellan dem. | Endast HTTP. Förstklassig programmeringsmodell för HTTP. Passar bättre för åtkomst från olika webbläsare, mobila enheter osv. för att möjliggöra bred räckvidd. |
Aktiverar byggtjänster som stöder flera kodningar (Text, MTOM och Binary) av samma meddelandetyp och tillåter växling mellan dem. | Gör det möjligt att skapa webb-API:er som stöder många olika medietyper, inklusive XML, JSON osv. |
Har stöd för att skapa tjänster med WS-* standarder som Reliable Messaging, Transactions, Message Security. | Använder grundläggande protokoll och format som HTTP, WebSockets, SSL, JSON och XML. Det finns inget stöd för protokoll på högre nivå, till exempel Reliable Messaging eller Transactions. |
Stöder exchange-mönster för begärandesvar, enkelriktade och Duplex-meddelanden. | HTTP är begäran/svar men ytterligare mönster kan stödjas via SignalR - och WebSockets-integrering. |
WCF SOAP-tjänster kan beskrivas i WSDL så att automatiserade verktyg kan generera klientproxy även för tjänster med komplexa scheman. | Det finns en mängd olika sätt att beskriva ett webb-API, allt från automatiskt genererad HTML-hjälpsida som beskriver kodfragment till strukturerade metadata för OData-integrerade API:er. |
Levereras med .NET Framework. | Levereras med .NET Framework men är öppen källkod och är även tillgängligt out-of-band som oberoende nedladdning. |
Använd WCF för att skapa tillförlitliga och säkra webbtjänster som är tillgängliga över en mängd olika transporter. Använd ASP.NET webb-API för att skapa HTTP-baserade tjänster som är tillgängliga från en mängd olika klienter. Använd ASP.NET webb-API om du skapar och utformar nya REST-tjänster. Även om WCF ger visst stöd för att skriva REST-tjänster, är stödet för REST i ASP.NET webb-API mer komplett och alla framtida FÖRBÄTTRINGAR av REST-funktioner kommer att göras i ASP.NET webb-API. Om du har en befintlig WCF-tjänst och vill exponera ytterligare REST-slutpunkter använder du WCF och WebHttpBinding.