Antonio Feliziani
a- a+

Introduzione a ASP.NET

ASP.NET non rappresenta solamente la nuova versione di ASP(Active Server Pages), bensì fornisce un modello disviluppo Web unificato che include i servizi necessari per lagenerazione di applicazioni Web aziendali. Oltre ad essereampiamente compatibile con ASP a livello di sintassi, ASP.NETfornisce anche un nuovo modello di programmazione e una nuovainfrastruttura per la creazione di applicazioni piùscalabili e affidabili che consentono di fornire una maggioreprotezione. È possibile aumentare le applicazioni ASPesistenti aggiungendovi funzionalità ASP.NET in modoincrementale.

ASP.NET è un ambiente compilato basato su .NET.È possibile creare applicazioni in un qualsiasilinguaggio compatibile .NET, inclusi Visual Basic .NET, C# eJScript .NET. L'intera piattaforma .NET Frameworkè inoltre disponibile per qualsiasi applicazioneASP.NET. Gli sviluppatori possono avvalersi facilmente deivantaggi offerti da queste tecnologie, che includono unambiente Common Language Runtime gestito, indipendenza daitipi, ereditarietà e così via.

La piattaforma ASP.NET è stata appositamenteprogettata per supportare editor HTML WYSIWYG e altristrumenti di programmazione, tra cui Microsoft Visual Studio.NET. Tali funzionalità, oltre a semplificarenotevolmente lo sviluppo di applicazioni Web, consentono disfruttare tutti i vantaggi offerti dagli strumentimenzionati, tra cui un'interfaccia grafica che puòessere utilizzata dagli sviluppatori per trascinare controlliserver su una pagina Web e il supporto per il debugcompletamente integrato.

Per la creazione di un'applicazione ASP.NET, glisviluppatori possono utilizzare Web Form, servizi Web XML ouna combinazione di entrambi, secondo le necessitàspecifiche. Ogni funzionalità è supportatadalla stessa infrastruttura che consente di utilizzare schemidi autenticazione, memorizzare nella cache i dati utilizzatidi frequente, personalizzare la configurazionedell'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.
  • 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.

Questi modelli possono sfruttare appieno tutte lefunzionalità offerte da ASP.NET, nonché tuttala potenza di .NET Framework e del relativo Common LanguageRuntime. Di seguito sono illustrate le relativefunzionalità 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.
  • 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.
  • 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.
  • 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 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.

  • 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.
  •  
  • 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.
  • 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.
  • 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.
  •  
  • Le applicazioni si considerano in esecuzione contemporanea quando sono installate sullo stesso computer ma utilizzano versioni diverse di .NET Framework.
  •  
  • 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.