Migrazione di servizi Web ASP.NET a WCF

ASP.NET fornisce librerie di classi .NET Framework e strumenti per creare servizi Web, oltre a funzionalità per servizi host all'interno di Internet Information Services (IIS). Windows Communication Foundation (WCF) fornisce librerie di classi .NET Framework, strumenti e funzionalità host per consentire a entità software di comunicare utilizzando qualsiasi protocollo, compresi quelli utilizzati dai servizi Web. La migrazione di servizi Web ASP.NET a WCF consente alle applicazioni di sfruttare le nuove funzionalità e i miglioramenti apportati a WCF.

WCF ha molti importanti vantaggi rispetto ai servizi Web ASP.NET. Mentre gli strumenti dei servizi Web ASP.NET sono idonei solo per la creazione di servizi Web, WCF fornisce strumenti che possono essere utilizzati quando le entità software devono comunicare l'una con l'altra. In tal modo, viene ridotto il numero di tecnologie che gli sviluppatori devono conoscere per far fronte a diversi scenari di comunicazione software. Di conseguenza saranno ridotti i costi delle risorse e i tempi di completamento per i progetti di sviluppo del software.

Anche nel caso di progetti di sviluppo di servizi Web, WCF supporta più protocolli di servizio Web rispetto ai servizi Web ASP.NET. I protocolli aggiuntivi sono in grado di gestire soluzioni più sofisticate, tra cui sessioni e transazioni affidabili.

WCF supporta un maggior numero di protocolli di trasporto dei messaggi, rispetto ai servizi Web ASP.NET. I servizi Web ASP.NET supportano solo l'invio di messaggi utilizzando HTTP (Hypertext Transfer Protocol). WCF supporta l'invio di messaggi utilizzando HTTP, oltre a TCP (Transmission Control Protocol), named pipe e l'Accodamento messaggi Microsoft (MSMQ). La cosa più importante è che WCF può essere esteso per supportare protocolli di trasporto aggiuntivi. Pertanto, il software sviluppato utilizzando WCF può essere adattato per operare assieme a numerosi altri software, aumentando in tal modo il potenziale rendimento dell'investimento.

WCF fornisce funzionalità molto più ricche per la distribuzione e la gestione delle applicazioni, rispetto ai servizi Web ASP.NET. Oltre a un sistema di configurazione, di cui è dotato anche ASP.NET, WCF offre un editor di configurazione, traccia delle attività dai mittenti ai destinatari e viceversa attraverso qualsiasi numero di intermediari, un visualizzatore di tracce, la registrazione dei messaggi, numerosissimi contatori delle prestazioni e supporto per Strumenti gestione Windows (WMI).

Alla luce di questi vantaggi potenziali di WCF rispetto ai servizi Web ASP.NET, se si stanno utilizzando, o si sta pensando di utilizzare i servizi Web ASP.NET, esistono diverse opzioni:

  • Continuare a utilizzare i servizi Web ASP.NET e rinunciare ai vantaggi offerti da WCF.
  • Continuare a utilizzare i servizi Web ASP.NET con l'intenzione di adottare WCF in futuro. Negli argomenti di questa sezione viene illustrato come aumentare al massimo le possibilità di riuscire a utilizzare le nuove applicazioni del servizio Web ASP.NET con le applicazioni future WCF. Viene inoltre spiegato come creare nuovi servizi Web ASP.NET mirati a facilitare la loro migrazione a WCF. Se, tuttavia, è importante proteggere i servizi o se sono richieste garanzie di affidabilità o transazione, o se sarà necessario creare funzionalità personalizzate di gestione, è preferibile adottare WCF. WCF è progettato espressamente per questi scenari.
  • Adottare WCF per lo sviluppo di nuove applicazioni, continuando a mantenere le applicazioni del servizio Web ASP.NET esistenti. Questa è molto probabilmente la scelta ottimale. Produce i vantaggi di WCF, risparmiando al contempo il costo della modifica delle applicazioni esistenti per utilizzarlo. In questo scenario, le nuove applicazioni WCF possono coesistere con le applicazioni ASP.NET esistenti. Le nuove applicazioni WCF saranno in grado di utilizzare i servizi Web ASP.NET esistenti e WCF può essere utilizzato per programmare nuove funzionalità operative in applicazioni ASP.NET esistenti in virtù della compatibilità ASP.NET di WCF.
  • Adottare WCF ed eseguire la migrazione delle applicazioni del servizio Web ASP.NET esistenti a WCF. È possibile scegliere questa opzione per migliorare le applicazioni esistenti con le funzionalità fornite da WCF, oppure per sostituire la funzionalità dei servizi Web ASP.NET esistenti all'interno di nuove applicazioni WCF più potenti.

Nota

Fare attenzione nel caso in cui un servizio WCF sia ospitato da IIS 5.x e ASP.NET sia disinstallato. Quando un servizio WCF è ospitato da IIS 5.x, se ASP.NET è disinstallato è possibile che venga richiesto il codice per il servizio. Quando ASP.NET è disinstallato in un sistema operativo in cui è in esecuzione IIS 5.x e WCF è disinstallato, un file con estensione svc viene considerato un file di testo e il contenuto, compreso qualsiasi codice sorgente, viene restituito al richiedente.

In questa sezione vengono illustrate dettagliatamente le opzioni menzionate, vengono confrontati i servizi Web ASP.NET con WCF e vengono fornite istruzioni per la migrazione del codice dei Servizi Web ASP.NET a WCF.

Vedere anche

Concetti

Preparazione all'adozione di Windows Communication Foundation: facilitazione dell'integrazione futura
Preparazione all'adozione di Windows Communication Foundation: facilitare l'integrazione futura
Utilizzo di Windows Communication Foundation
Confronto tra i servizi Web ASP.NET e WCF basato sullo scopo e gli standard utilizzati
Confronto tra servizi Web ASP.NET e WCF basato sullo sviluppo