Introduzione a ASP.NET
ASP.NET non rappresenta solamente la nuova versione di ASP (Active Server Pages), ma è una piattaforma di sviluppo Web unificata che fornisce i servizi necessari per la generazione di applicazioni Web aziendali. Oltre ad essere ampiamente compatibile con ASP a livello di sintassi, ASP.NET fornisce anche un nuovo modello di programmazione e una nuova infrastruttura per la creazione di applicazioni più sicure, scalabili e affidabili. È possibile aumentare le applicazioni ASP esistenti aggiungendovi funzionalità ASP.NET in modo incrementale.
ASP.NET è un ambiente compilato basato su .NET. È possibile creare applicazioni in un qualsiasi linguaggio compatibile .NET, inclusi Visual Basic .NET, C# e JScript .NET. L'intera piattaforma .NET Framework è inoltre disponibile per qualsiasi applicazione ASP.NET. Gli sviluppatori possono avvalersi facilmente dei vantaggi offerti da queste tecnologie, che includono un ambiente Common Language Runtime gestito, indipendenza dai tipi, ereditarietà e così via.
La piattaforma ASP.NET è stata appositamente progettata per supportare editor HTML WYSIWYG e altri strumenti di programmazione, tra cui Microsoft Visual Studio .NET. Tali funzionalità, oltre a semplificare notevolmente lo sviluppo di applicazioni Web, consentono di sfruttare tutti i vantaggi offerti dagli strumenti menzionati, tra cui un'interfaccia grafica che può essere utilizzata dagli sviluppatori per trascinare controlli server su una pagina Web e il supporto per il debug completamente integrato.
Per la creazione di un'applicazione ASP.NET, gli sviluppatori possono utilizzare Web Form, servizi Web XML o una combinazione di entrambi, secondo le necessità specifiche. Ogni funzionalità è supportata dalla stessa infrastruttura che consente di utilizzare schemi di autenticazione, memorizzare nella cache i dati utilizzati di frequente, personalizzare la configurazione dell'applicazione e molte altre funzioni.
- I Web Form consentono di generare efficaci pagine Web basate su form. Per la generazione di queste pagine, è possibile utilizzare i controlli server ASP.NET per creare elementi comuni dell'interfaccia utente e programmarli per l'esecuzione di attività comuni. Questi controlli consentono di generare rapidamente un Web Form utilizzando componenti incorporati o personalizzati riutilizzabili, semplificando in tal modo il codice delle pagine. Per ulteriori informazioni, vedere, Pagine Web Form. Per ulteriori informazioni sullo sviluppo di controlli server ASP.NET, vedere Sviluppo di controlli server ASP.NET.
- I servizi Web XML forniscono i mezzi per accedere in remoto alle funzionalità del server. Mediante i servizi Web XML, le aziende possono esporre interfacce a livello di programmazione per i propri dati o per la propria logica business. Queste informazioni possono essere a loro volta recuperate e modificate da applicazioni server e client. I servizi Web XML consentono di scambiare dati in scenari client-server o server-server mediante l'utilizzo di standard, quali i sistemi di messaggistica XML e HTTP per il trasferimento di dati attraverso i firewall. I servizi Web XML non dipendono da una tecnologia specifica o da una convenzione di chiamata degli oggetti. È quindi possibile accedere a tali servizi con programmi scritti in qualsiasi linguaggio, che utilizzano qualsiasi modello di componente ed eseguiti su qualsiasi sistema operativo. Per ulteriori informazioni, vedere Servizi Web XML creati con client di servizi Web XML e ASP.NET.
Questi modelli possono sfruttare appieno tutte le funzionalità offerte da ASP.NET, nonché tutta la potenza di .NET Framework e del relativo Common Language Runtime. Di seguito sono illustrate le relative funzionalità e modalità di utilizzo.
- Chi ha esperienza nello sviluppo ASP, troverà familiare il nuovo modello di programmazione ASP.NET. Tuttavia, il modello a oggetti ASP.NET ha subito notevoli modifiche rispetto alla tecnologia ASP ed è maggiormente strutturato e orientato a oggetti. Alla luce di queste modifiche, ASP.NET non risulta totalmente compatibile con le tecnologie precedenti ed è pertanto necessario modificare tutte le pagine ASP esistenti per poterle utilizzare con ASP.NET. Inoltre, a causa delle notevoli modifiche apportate a Visual Basic .NET, non sarà possibile effettuare il porting delle pagine ASP esistenti scritte in Visual Basic Scripting Edition direttamente in ASP.NET. Nella maggior parte dei casi tuttavia le modifiche richiederanno solo alcune righe di codice. Per ulteriori informazioni, vedere Migrazione da ASP a ASP.NET.
- L'accesso ai database da applicazioni ASP.NET rappresenta una tecnica utilizzata frequentemente per presentare i dati ai visitatori di siti Web. ASP.NET semplifica notevolmente questa tecnica, consentendo di gestire il database direttamente a livello di codice. Per ulteriori informazioni, vedere Accesso ai dati con ASP.NET.
- ASP.NET fornisce un modello semplice che consente agli sviluppatori di applicazioni Web di scrivere la logica utilizzata a livello dell'applicazione. Gli sviluppatori possono infatti scrivere questo codice nel file di testo Global.asax o in una classe compilata distribuita come un assembly. Questa logica può comprendere eventi a livello di applicazione. Gli sviluppatori possono comunque estendere facilmente questo modello in funzione delle specifiche esigenze delle applicazioni Web sviluppate. Per ulteriori informazioni, vedere Applicazioni ASP.NET.
- ASP.NET fornisce semplici funzionalità per la gestione dello stato applicazione e sessione, ben noti agli sviluppatori ASP, che sono totalmente compatibili con tutte le altre API di .NET Framework. Per ulteriori informazioni, vedere Gestione dello stato di ASP.NET.
- Per gli sviluppatori più esperti che desiderano utilizzare API potenti come le interfacce di programmazione ISAPI fornite con la precedente versione di ASP, ASP.NET fornisce le interfacce IHttpHandler e IHttpModule. L'implementazione dell'interfaccia IHttpHandler consente di interagire con i servizi di richiesta e risposta a basso livello del server Web IIS e fornisce funzionalità molto simili alle estensioni ISAPI, ma con un modello di programmazione più semplice. L'implementazione dell'interfaccia IHttpModule consente invece di includere eventi personalizzati che fanno parte di ogni richiesta inviata all'applicazione. Per ulteriori informazioni, vedere Supporto runtime HTTP.
- ASP.NET sfrutta i miglioramenti apportati alle prestazioni di .NET Framework e Common Language Runtime. Questa piattaforma è stata inoltre progettata per fornire prestazioni notevolmente superiori rispetto alla piattaforma ASP e altre piattaforme di sviluppo Web. Tutto il codice ASP.NET è compilato, anziché interpretato, e offre notevoli vantaggi, quali associazione anticipata, tipizzazione sicura e compilazione JIT in codice nativo. ASP.NET è inoltre facilmente scomponibile in fattori, consentendo agli sviluppatori di rimuovere i moduli non rilevanti per l'applicazione attualmente sviluppata, ad esempio un modulo di sessione. ASP.NET fornisce inoltre servizi completi per la memorizzazione nella cache, tra cui API e i servizi integrati. ASP.NET comprende inoltre contatori delle prestazioni che possono essere utilizzati da sviluppatori e amministratori di sistema per verificare il funzionamento delle nuove applicazioni e per raccogliere dati di riferimento sulle applicazioni esistenti. Per ulteriori informazioni, vedere Funzionalità di utilizzo della cache di ASP.NET e Ottimizzazione di ASP.NET.
- La scrittura di istruzioni di debug personalizzate nella pagine Web può semplificare notevolmente la risoluzione di eventuali problemi nel codice dell'applicazione, tuttavia, tali istruzioni potrebbero causare difficoltà se non rimosse. Tuttavia, la rimozione delle istruzioni di debug dalle pagine Web prima di eseguire il porting dell'applicazione a un server di produzione può risultare un'attività alquanto complessa e dispendiosa. ASP.NET fornisce la classe TraceContext, che consente di scrivere nelle pagine istruzioni di debug personalizzate durante lo sviluppo. Queste istruzioni vengono visualizzate solo dopo aver attivato l'analisi per una pagina o per tutta l'applicazione. Con l'attivazione dell'analisi vengono inoltre aggiunti dettagli relativi a una richiesta alla pagina, oppure, in base a quanto specificato, a un visualizzatore dell'analisi personalizzata memorizzato nella directory principale dell'applicazione. Per ulteriori informazioni, vedere Analisi di ASP.NET.
- Le piattaforme .NET Framework e ASP.NET forniscono schemi di autenticazione e di autorizzazione predefiniti per le applicazioni Web. È possibile rimuovere, aggiungere o sostituire facilmente questi schemi in funzione delle specifiche esigenze. Per ulteriori informazioni, vedere Protezione delle applicazioni Web ASP.NET.
- Le impostazioni di configurazione di ASP.NET sono memorizzate nei file basati su XML, facilmente scrivibili e leggibili dall'utente. È possibile specificare un file di configurazione diverso per ogni applicazione sviluppata, nonché estendere lo schema di configurazione in funzione delle specifiche esigenze. Per ulteriori informazioni, vedere Configurazione ASP.NET.
- Le applicazioni si considerano in esecuzione contemporanea quando sono installate sullo stesso computer ma utilizzano versioni diverse di .NET Framework. Per una spiegazione sull'utilizzo di più versioni di ASP.NET per applicazioni separate sul server, vedere Supporto dell'esecuzione contemporanea di più versioni in ASP.NET.
- In IIS 6.0 viene utilizzato un nuovo modello di processo, denominato modalità di isolamento del processo di lavoro, diverso dal modello di processo utilizzato in versioni precedenti di IIS. In ASP.NET tale processo viene utilizzato per impostazione predefinita durante l'esecuzione con Windows Server 2003. Per informazioni sulla migrazione delle impostazioni da modelli di processo ASP.NET a modalità di isolamento del processo di lavoro, vedere Modalità di isolamento delle applicazioni di IIS 6.0.