Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
WCF è il modello di programmazione unificato di Microsoft per la creazione di applicazioni orientate ai servizi. Consente agli sviluppatori di creare soluzioni sicure, affidabili e incentrate sulle transazioni che si integrano tra piattaforme e interoperano con gli investimenti esistenti. ASP.NET'API Web è un framework che semplifica la creazione di servizi HTTP che raggiungono un'ampia gamma di client, inclusi browser e dispositivi mobili. ASP.NET'API Web è una piattaforma ideale per la creazione di applicazioni RESTful in .NET Framework. Questo argomento presenta alcune indicazioni utili per decidere quale tecnologia soddisfa meglio le proprie esigenze.
Scelta della tecnologia da usare
Nella tabella seguente vengono descritte le principali funzionalità di ogni tecnologia.
| WCF (Windows Communication Foundation) | API Web ASP.NET |
|---|---|
| Abilita la compilazione di servizi che supportano più protocolli di trasporto (HTTP, TCP, UDP e trasporti personalizzati) e consente di passare da un protocollo all'altro. | Solo per HTTP Modello di programmazione di prima classe per HTTP. Più adatto per l'accesso da vari browser, dispositivi mobili e così via abilitando un'ampia portata. |
| Abilita la compilazione di servizi che supportano più codifiche (Text, MTOM e Binary) dello stesso tipo di messaggio e consente il passaggio tra di essi. | Consente di compilare API Web che supportano un'ampia gamma di tipi di supporti, tra cui XML, JSON e così via. |
| Supporta la creazione di servizi con standard WS-* come Reliable Messaging, Transactions, Message Security. | Usa protocolli e formati di base, ad esempio HTTP, WebSocket, SSL, JSON e XML. Non è disponibile alcun supporto per protocolli di livello superiore, ad esempio Reliable Messaging o Transactions. |
| Supporta modelli di scambio di messaggi Request-Reply, One Way e Duplex. | HTTP è di richiesta/risposta, ma è possibile supportare modelli aggiuntivi tramite l'integrazione di SignalR e WebSocket. |
| I servizi SOAP WCF possono essere descritti in WSDL che consente agli strumenti automatizzati di generare proxy client anche per i servizi con schemi complessi. | Esistono diversi modi per descrivere un'API Web che va dalla pagina della Guida HTML generata automaticamente che descrive i frammenti di codice ai metadati strutturati per le API integrate OData. |
| Viene fornito con .NET Framework. | Viene fornito con il .NET Framework, ma è open source ed è anche disponibile separatamente come download indipendente. |
Usare WCF per creare servizi Web affidabili e sicuri accessibili tramite un'ampia gamma di trasporti. Usare ASP.NET'API Web per creare servizi basati su HTTP accessibili da un'ampia gamma di client. Usa ASP.NET Web API se stai creando e progettando nuovi servizi in stile REST. Anche se WCF offre supporto per la scrittura di servizi in stile REST, il supporto per REST in ASP.NET API Web è più completo e tutti i futuri miglioramenti delle funzionalità REST verranno apportati in ASP.NET API Web. Se si dispone di un servizio WCF esistente e si desidera esporre endpoint REST aggiuntivi, usare WCF e WebHttpBinding.