Creazione di servizi WCF per ASP.NET AJAX
Microsoft ASP.NET AJAX consente di creare rapidamente pagine Web caratterizzate da un'esperienza utente più soddisfacente con i classici elementi dell'interfaccia utente di elevata reattività. ASP.NET AJAX fornisce librerie di script client in cui sono incorporate tecnologie multibrowser ECMAScript (JavaScript) e DHTML (HTML dinamico), nonché l'integrazione con la piattaforma di sviluppo basata su server ASP.NET 2.0. Con ASP.NET AJAX è possibile migliorare l'esperienza utente e l'efficienza delle applicazioni Web.
ASP.NET AJAX è costituito da librerie di script client e da componenti server integrati per fornire un framework di sviluppo affidabile. Per accedere a un servizio da una pagina ASP.NET: dopo l'aggiunta dell'URL del servizio al controllo Script Manager di ASP.NET nella pagina, è possibile richiamare le operazioni del servizio utilizzando codice JavaScript che assomiglia esattamente a una normale chiamata alla funzione JavaScript. Per informazioni sull'utilizzo di servizi Web all'interno del framework AJAX, vedere ASP.NET Web Services in AJAX.
La maggior parte dei servizi Windows Communication Foundation (WCF) possono essere esposti come servizi compatibili con ASP.NET AJAX aggiungendo un endpoint ASP.NET AJAX appropriato.
Se si sta utilizzando Visual Studio, è possibile utilizzare un modello predefinito per i servizi WCF compatibili AJAX, disponibile nella finestra di dialogo Aggiungi nuovo elemento quando si si lavora con siti Web ASP.NET o applicazioni Web.
Se non si stanno utilizzando i modelli di Visual Studio, esistono due modalità per creare un endpoint ASP.NET AJAX:
- Creare l'endpoint utilizzando l'attivazione dinamica dell'host senza utilizzare alcuna configurazione. Questo è l'approccio più elementare se non si conosce il sistema di configurazione WCF. Per ulteriori informazioni, vedere Procedura: aggiungere un endpoint ASP.NET AJAX senza utilizzare la configurazione.
- Aggiungere un endpoint compatibile AJAX a un servizio WCF utilizzando la configurazione. Per ulteriori informazioni, vedere Procedura: aggiungere un endpoint ASP.NET AJAX con l'utilizzo della configurazione.
Il modello di programmazione Web descritto in Panoramica del modello di programmazione Web WCF può essere utilizzato con i servizi ASP.NET AJAX. In particolare:
- È possibile utilizzare gli attributi WebGetAttribute e WebInvokeAttribute per selezionare tra i verbi HTTP GET e HTTP POST. Se utilizzati correttamente, possono migliorare notevolmente le prestazioni dell'applicazione. Per ulteriori informazioni, vedere Procedura: scegliere tra richieste HTTP POST e HTTP GET per gli endpoint ASP.NET AJAX.
- È possibile utilizzare le proprietà ResponseFormat e ResponseFormat per fare in modo che il servizio restituisca dati XML anziché la notazione JSON (Javascript Object Notation) predefinita. L'utilizzo di questo approccio con il framework ASP.NET AJAX fa sì che il client JavaScript riceva un oggetto XML DOM.
- Se è richiesta la compatibilità con ASP.NET AJAX, non è possibile modificare nessun'altra proprietà negli attributi WebGetAttribute e WebInvokeAttribute. Gli altri aspetti del modello di programmazione Web possono essere utilizzati a condizione che non vengano violate le convenzioni di chiamata ASP.NET AJAX.
Scenari più avanzati richiedono la comprensione di alcuni dettagli aggiuntivi di supporto AJAX in WCF:
- Per capire come vengono trasferiti i dati tra un client della pagina AJAX e un servizio WCF utilizzando JavaScript e per ulteriori informazioni sul mapping di tipi .NET Framework a tipi JavaScript, vedere Supporto per JSON e altri formati di trasferimento dati.
- Per sfruttare le funzionalità di ASP.NET, ad esempio, l'autenticazione basata su URL e l'accesso alle informazioni della sessione ASP.NET, è consigliabile attivare la modalità di compatibilità ASP.NET tramite la configurazione.
Gli endpoint AJAX in WCF possono essere utilizzati anche senza il framework ASP.NET AJAX. Ciò richiede una comprensione dell'architettura di supporto di AJAX in WCF. Per una discussione su questa architettura, vedere Modello a oggetti per la programmazione Web WCF. Per un esempio di codice che dimostra tale approccio, vedere AJAX Service with JSON and XML Sample.
Vedere anche
Attività
Procedura: aggiungere un endpoint ASP.NET AJAX senza utilizzare la configurazione
Procedura: aggiungere un endpoint ASP.NET AJAX con l'utilizzo della configurazione
Procedura: scegliere tra richieste HTTP POST e HTTP GET per gli endpoint ASP.NET AJAX