Cenni preliminari su ASP.NET AJAX
Aggiornamento: novembre 2007
Le funzionalità AJAX in ASP.NET consentono di creare rapidamente pagine Web caratterizzate da un'esperienza utente più soddisfacente e classici elementi dell'interfaccia utente (UI) di elevata reattività. Le funzionalità AJAX includono 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. Con le funzionalità AJAX è possibile migliorare l'esperienza utente e l'efficienza delle applicazioni Web.
Vantaggi dell'utilizzo delle funzionalità ASP.NET AJAX
Le funzionalità AJAX in ASP.NET consentono di compilare applicazioni Web complesse che presentano molti vantaggi rispetto alle applicazioni Web completamente basate su server. Le applicazioni con supporto AJAX offrono:
Efficienza migliorata, perché parti significative dell'elaborazione di una pagina Web vengono eseguite nel browser.
Elementi classici dell'interfaccia utente, quali indicatori di stato, descrizioni comandi e finestre popup.
Aggiornamento a pagina parziale, in cui vengono aggiornate solo le aree della pagina Web che sono state modificate.
Integrazione client con i servizi delle applicazioni ASP.NET per autenticazione basata su form, ruoli e profili utente.
Classi proxy generate automaticamente che semplificano la chiamata ai metodi di servizio Web dallo script client.
Un framework che consente di personalizzare controlli server per includere funzionalità client.
Supporto per i browser più diffusi, inclusi Microsoft Internet Explorer, Mozilla Firefox e Apple Safari.
Architettura delle funzionalità AJAX in ASP.NET
L'architettura delle funzionalità AJAX in ASP.NET è costituita da due parti: librerie di script client e componenti server. Tali parti si integrano per fornire un framework di sviluppo affidabile.
Nota: |
---|
Oltre alle funzionalità AJAX in ASP.NET, è possibile utilizzare l'ASP.NET AJAX Control Toolkit e le funzionalità nelle versioni di Microsoft ASP.NET Futures, supportate dalla community. |
Nell'illustrazione seguente vengono evidenziate le funzionalità incluse nelle librerie script client e nei componenti server.
Architettura client e server ASP.NET AJAX
Nell'illustrazione vengono mostrate le funzionalità della Microsoft AJAX Library basata su client, inclusi il supporto per la creazione di componenti client, la compatibilità tra browser e servizi di rete e di base. Inoltre, vengono illustrate le funzionalità AJAX basate su server, inclusi il supporto script, i servizi Web, i servizi dell'applicazione e i controlli server. Nelle sezioni seguenti l'illustrazione verrà descritta in maggior dettaglio.
Architettura client AJAX
L'architettura client include librerie per il supporto di componenti, la compatibilità tra browser, i servizi di rete e di base.
Componenti
I componenti client attivano comportamenti complessi nel browser senza postback. I componenti sono suddivisi in tre categorie:
Componenti, che sono oggetti non visivi che incapsulano codice, ad esempio un oggetto timer.
Comportamenti, che estendono il comportamento di base di elementi DOM esistenti.
Controlli, che rappresentano un nuovo elemento DOM con un comportamento personalizzato.
Il tipo di componente che si utilizza dipende dal tipo di comportamento client che si vuole. Ad esempio, una filigrana per una casella di testo esistente può essere creata utilizzando un comportamento associato alla casella di testo. Per ulteriori informazioni, vedere Creazione di controlli e componenti client.
Compatibilità con i browser
Il livello di compatibilità tra browser fornisce la compatibilità degli script AJAX con i browser più diffusi, inclusi Microsoft Internet Explorer, Mozilla Firefox e Apple Safari. In questo modo è possibile scrivere lo stesso script indipendentemente da quale sia il browser di destinazione. Per ulteriori informazioni, vedere Impostazioni di sicurezza del browser per le pagine ASP.NET con supporto AJAX.
Servizi di rete
Il livello di rete gestisce la comunicazione tra gli script nel browser e i servizi e le applicazioni basati su Web. Gestisce inoltre le chiamate asincrone a metodi remoti. In molti scenari comuni, ad esempio gli aggiornamenti a pagina parziale che utilizzano il controllo UpdatePanel, il livello di rete viene utilizzato automaticamente e non richiede la scrittura di codice.
Il livello di rete fornisce anche supporto per l'accesso all'autenticazione basata su form basata su server, nonché alle informazioni sui ruoli e alle informazioni sui profili negli script client. Tale supporto è disponibile anche per le applicazioni Web che non vengono create utilizzando ASP.NET, purché abbiano accesso alla Microsoft AJAX Library. Per ulteriori informazioni, vedere la classe Servizi Web in ASP.NET AJAX.
Servizi di base
Le librerie di script client AJAX in ASP.NET sono costituite da file JavaScript (js) che forniscono funzionalità per lo sviluppo orientato a oggetti. Le funzionalità orientate a oggetti incluse nelle librerie di script client ASP.NET AJAX consentono un livello elevato di coerenza e modularità negli script client. I servizi di base seguenti fanno parte dell'architettura client:
Estensioni orientate a oggetti per JavaScript, ad esempio classi, spazi dei nomi, gestione di eventi, ereditarietà, tipi di dati e serializzazione di oggetti.
Una libreria di classi base che include componenti quali generatori di stringhe e gestione estesa degli errori.
Supporto per librerie JavaScript incorporate in un assembly o fornite come file JavaScript (js) autonomi. Incorporare librerie JavaScript in un assembly può facilitare la distribuzione delle applicazioni e la risoluzione dei problemi relativi al controllo delle versioni.
Per ulteriori informazioni, vedere Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library.
Debug e gestione degli errori
I servizi di base includono la classe Sys.Debug che fornisce metodi per la visualizzazione di oggetti in formato leggibile alla fine di una pagina Web. La classe mostra anche messaggi di analisi, consente di utilizzare asserzioni e di inserire un'interruzione nel debugger. Un'API estesa ad oggetti Error fornisce utili dettagli sulle eccezioni, con supporto per le modalità di rilascio e di debug. Per ulteriori informazioni, vedere la classe Cenni preliminari sul debug e sull'analisi delle applicazioni AJAX.
Globalizzazione
L'architettura server e client AJAX in ASP.NET fornisce un modello per la localizzazione e la globalizzazione degli script client, consentendo di progettare applicazioni che utilizzano una sola codebase per l'interfaccia utente per molte impostazioni locali (lingue e impostazioni cultura). Ad esempio, l'architettura AJAX consente al codice JavaScript di formattare automaticamente oggetti Date o Number in base alle impostazioni cultura del browser dell'utente, senza richiedere un postback al server. Per ulteriori informazioni, vedere Procedura dettagliata: globalizzazione di una data mediante uno script client.
Architettura server AJAX
Le parti server che supportano lo sviluppo AJAX sono costituite da controlli server e componenti Web ASP.NET che gestiscono l'interfaccia utente e il flusso di un'applicazione. Le parti server gestiscono anche serializzazione, convalida, estensibilità dei controlli e così via. Esistono inoltre servizi Web ASP.NET che consentono di accedere ai servizi dell'applicazione ASP.NET per autenticazione basata su form, ruoli e profili utente.
Supporto script
Le funzionalità AJAX in ASP.NET vengono implementate utilizzando script di supporto inviati dal server al client. In base alle funzionalità AJAX che si attivano, script diversi vengono inviati al browser.
È anche possibile creare script client personalizzati per le applicazioni ASP.NET. In tal caso, è anche possibile utilizzare le funzionalità AJAX per gestire gli script personalizzati come file js statici (su disco) o file js incorporati come risorse in un assembly.
Le funzionalità ASP.NET AJAX includono un modello per le modalità finale e di debug. La modalità di rilascio fornisce il controllo degli errori e la gestione delle eccezioni con prestazioni ottimali, grazie alla dimensione degli script ridotta al minimo. La modalità di debug fornisce funzionalità di debug più potenti, come il controllo di tipi e argomenti. Le versioni di debug vengono eseguite in ASP.NET quando l'applicazione è in modalità di debug. In questo modo è possibile generare eccezioni negli script di debug e, al tempo stesso, ridurre alle minime dimensioni il codice di rilascio.
Il supporto script per AJAX in ASP.NET viene utilizzato per fornire due importanti funzionalità:
La Microsoft AJAX Library, che è un sistema di tipi e un insieme di estensioni JavaScript che forniscono spazi dei nomi, ereditarietà, interfacce, enumerazioni, riflessione e funzionalità aggiuntive. Per ulteriori informazioni, vedere Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library.
Il rendering a pagina parziale, che aggiorna le aree della pagina utilizzando un postback asincrono. Per ulteriori informazioni, vedere Cenni preliminari sul rendering a pagina parziale.
Localizzazione
L'architettura ASP.NET AJAX si basa e sviluppa il modello di localizzazione di ASP.NET 2.0. Fornisce supporto aggiuntivo per i file js localizzati incorporati in un assembly o forniti su disco. ASP.NET può fornire automaticamente script client e risorse localizzati per lingue e regioni specifiche.
Per ulteriori informazioni, vedere i seguenti argomenti:
Cenni preliminari sulla localizzazione delle risorse per le librerie di componenti
Procedura dettagliata: incorporamento di risorse localizzate per un file JavaScript
Servizi Web
Con le funzionalità AJAX in una pagina Web ASP.NET, è possibile utilizzare script client per chiamare sia servizi Web ASP.NET (asmx) che servizi Windows Communication Foundation (WCF) (svc). I riferimenti allo script richiesti vengono aggiunti automaticamente alla pagina e generano automaticamente, a loro volta, le classi proxy del servizio Web utilizzate dallo script client per chiamare il servizio Web.
È anche possibile accedere ai servizi Web ASP.NET senza utilizzare controlli server ASP.NET AJAX (ad esempio, se si sta utilizzando un ambiente di sviluppo Web diverso). A tale scopo, è possibile includere manualmente nella pagina i riferimenti alla Microsoft AJAX Library, ai file script e al servizio Web stesso. In fase di esecuzione verranno generate le classi proxy utilizzabili per chiamare i servizi. Per ulteriori informazioni, vedere la classe Servizi Web in ASP.NET AJAX.
Servizi delle applicazioni
In ASP.NET i servizi delle applicazioni sono servizi Web incorporati basati sull'autenticazione basata su form, i ruoli e i profili utente ASP.NET. Questi servizi possono essere chiamati da uno script client in una pagina Web con supporto AJAX, da un'applicazione client Windows o da un client compatibile con WCF. Per informazioni ed esempi, vedere Utilizzo dei servizi Web ASP.NET.
Controlli server
I controlli server ASP.NET AJAX sono costituiti da codice server e client che si integra per un comportamento client complesso. Quando si aggiunge un controllo AJAX a una pagina Web ASP.NET, la pagina invia automaticamente lo script client di supporto per la funzionalità AJAX al browser. È possibile fornire codice client aggiuntivo per personalizzare la funzionalità di un controllo, ma non è necessario.
Nell'elenco seguente sono descritti i controlli server ASP.NET AJAX più utilizzati.
ScriptManager
Gestisce le risorse script per i componenti client, il rendering a pagina parziale, la localizzazione, la globalizzazione e gli script utente personalizzati. Il controllo ScriptManager è necessario per utilizzare i controlli UpdatePanel, UpdateProgresse Timer.UpdatePanel
Consente di aggiornare parti selezionate della pagina, anziché aggiornare la pagina intera utilizzando un postback sincrono.UpdateProgress
Fornisce informazioni sullo stato degli aggiornamenti a pagina parziale nei controlli UpdatePanel.Timer
Esegue postback a intervalli definiti. È possibile utilizzare il controllo Timer per inserire la pagina intera o utilizzarlo con il controllo UpdatePanel per eseguire aggiornamenti a pagina parziale a un intervallo definito.
È anche possibile creare controlli server ASP.NET personalizzati che includono comportamenti client AJAX. I controlli personalizzati che migliorano le funzionalità di altri controlli Web ASP.NET sono detti controlliExtender. Per ulteriori informazioni, vedere Aggiunta di funzionalità AJAX a controlli ASP.NET e Cenni preliminari sui controlli Extender ASP.NET AJAX.
AJAX Control Toolkit
L'ASP.NET AJAX Control Toolkit è un insieme di esempi e componenti che mostrano alcune delle esperienze realizzabili con i controlli e i controlli Extender ASP.NET AJAX. Il toolkit fornisce esempi e un potente SDK grazie ai quali è semplice creare e riutilizzare controlli personalizzati e controlli Extender. È possibile scaricare l'ASP.NET AJAX Control Toolkit dal sito Web ASP.NET AJAX (informazioni in lingua inglese). L'ASP.NET AJAX Control Toolkit è supportato dalla community.
Versioni Futures supportate dalla community AJAX
Le versioni Futures supportate dalla community ASP.NET AJAX forniscono funzionalità in grado di estendere quelle AJAX di ASP.NET. Tali funzionalità sono in fase di sviluppo e non sono incluse in ASP.NET. Sono inclusi controlli Extender aggiuntivi, supporto per la sintassi dichiarativa client (script xml) e altro ancora. Per il download e ulteriori informazioni sulle versioni Futures, visitare il sito Web ASP.NET AJAX (informazioni in lingua inglese).
Vedere anche
Concetti
Impostazioni di sicurezza del browser per le pagine ASP.NET con supporto AJAX