Condividi tramite


Cenni preliminari sulle pagine Web ASP.NET

Aggiornamento: novembre 2007

Le pagine Web ASP.NET vengono utilizzate come interfaccia utente programmabile per l'applicazione Web. Una pagina Web ASP.NET fornisce informazioni all'utente in qualsiasi browser o periferica client e implementa la logica dell'applicazione utilizzando il codice lato server. Le pagine Web ASP.NET sono:

  • Basate sulla tecnologia Microsoft ASP.NET in cui il codice eseguito sul server genera in modo dinamico l'output delle pagine Web sul browser o sulla periferica client.

  • Compatibili con qualsiasi browser o dispositivo mobile, nonché in grado di eseguire automaticamente il rendering dell'HTML corretto compatibile con il browser per funzionalità quali gli stili, il layout e così via. In alternativa, è possibile progettare le pagine Web ASP.NET in modo che vengano eseguite su un determinato browser, come Microsoft Internet Explorer 6, e si avvalgano delle funzionalità specifiche di quest'ultimo.

  • Compatibili con qualsiasi linguaggio supportato da .NET Common Language Runtime, tra cui Microsoft Visual Basic, Microsoft Visual C#, Microsoft J# e Microsoft JScript .NET.

  • Sviluppate con Microsoft .NET Framework e quindi dotate di tutti i vantaggi del framework, inclusi un ambiente gestito, indipendenza dai tipi ed ereditarietà.

  • Flessibili, in quanto è possibile aggiungervi controlli di terze parti e creati dagli utenti.

Componenti delle pagine Web ASP.NET

Nelle pagine Web ASP.NET la programmazione dell'interfaccia utente viene suddivisa in due elementi distinti: il componente visivo e la logica. Chi ha familiarità con strumenti quali Visual Basic e Visual C++ potrà facilmente riconoscere questa divisione tra la parte visibile di una pagina e il codice nascosto che con essa interagisce.

L'elemento visivo è costituito da un file contenente markup statico come i controlli server HTML o ASP.NET o entrambi. La pagina Web ASP.NET funge da contenitore per il testo e i controlli statici che si desidera visualizzare.

La logica della pagina Web ASP.NET è composta dal codice che viene creato per interagire con la pagina. Il codice può risiedere in un blocco script nella pagina o in una classe distinta. Se il codice si trova in un file di classe separato, tale file viene definito file code-behind. Il codice nel file code-behind può essere scritto in Visual Basic, Visual C#, Visual J# o JScript .NET. Per ulteriori informazioni sulla modalità di costruzione delle pagine Web ASP.NET, vedere Modello di codice di pagine Web ASP.NET.

Le pagine Web ASP.NET vengono compilate in un file di libreria a collegamento dinamico (DLL). La prima volta che un utente visualizza una pagina aspx, in ASP.NET viene automaticamente generato un file di classe .NET che rappresenta la pagina e la compila. Il file dll viene eseguito sul server e produce dinamicamente l'output HTML per la pagina. Per ulteriori informazioni sulla modalità di compilazione delle applicazioni ASP.NET, vedere Cenni preliminari sulla compilazione in ASP.NET.

Operazioni eseguibili utilizzando le pagine Web ASP.NET

La programmazione delle applicazioni Web presenta particolari difficoltà che in genere non si verificano durante la programmazione delle applicazioni client tradizionali. Di seguito sono illustrati alcuni di questi problemi.

  • Implementazione di un'interfaccia utente Web avanzata   La progettazione e l'implementazione di un'interfaccia utente mediante le funzionalità HTML di base possono risultare operazioni difficili e impegnative in particolare se la pagina presenta un layout complesso, una grande quantità di contenuto dinamico e oggetti completi e interattivi.

  • Separazione di client e server   In un'applicazione Web il client (browser) e il server sono programmi differenti in genere eseguiti su computer differenti e persino su sistemi operativi differenti. Di conseguenza, le due parti dell'applicazione condividono una quantità minima di informazioni; possono comunicare, ma in genere si scambiano solo piccoli blocchi di dati semplici.

  • Esecuzione senza informazioni sullo stato   Quando un server Web riceve una richiesta di una pagina, la pagina viene trovata, elaborata, inviata al browser e vengono infine eliminate tutte le informazioni relative alla pagina. Se l'utente richiede di nuovo la stessa pagina, il server ripeterà l'intera sequenza di operazioni, rielaborando la pagina da zero. In altre parole, un server non ha memoria delle pagine che ha elaborato in quanto le pagine non contengono informazioni sullo stato. Se, pertanto, è necessario conservare le informazioni relative a una pagina in un'applicazione, l'assenza di tali informazioni può rappresentare un problema.

  • Funzionalità del client sconosciute    In molti casi, le applicazioni Web sono accessibili a molti utenti che utilizzano browser differenti. I browser sono dotati di funzionalità differenti, il che rende difficile la creazione di un'applicazione che possa essere eseguita in modo corretto su tutti i diversi browser.

  • Problemi relativi all'accesso ai dati   La lettura e la scrittura da e in un'origine dati nelle applicazioni Web tradizionali può risultare complicata e richiedere un utilizzo esteso delle risorse.

  • Problemi relativi alla scalabilità   In molti casi le applicazioni Web progettate con metodi esistenti non sono in grado di soddisfare specifici obiettivi di scalabilità a causa della mancanza di compatibilità tra i vari componenti dell'applicazione. Questa caratteristica rappresenta in genere un fattore problematico comune nelle applicazioni con un ciclo di crescita elevato.

Risolvere queste difficoltà per le applicazioni Web può richiedere sforzi e tempi considerevoli. Per risolvere tali problematiche, le pagine Web ASP.NET e il framework di pagine ASP.NET ricorrono alle seguenti funzionalità:

  • Modello a oggetti intuitivo e coerente   Il framework di pagine ASP.NET presenta un modello a oggetti grazie al quale è possibile considerare i form come unità e non come parti client e server distinte. Questo modello consente di programmare la pagina in modo più intuitivo rispetto alle applicazioni Web tradizionali, in quanto è possibile impostare le proprietà per gli elementi delle pagine e rispondere agli eventi. I controlli server ASP.NET rappresentano inoltre un'astrazione del contenuto fisico di una pagina HTML e costituiscono l'interazione diretta tra browser e server. In generale, è possibile utilizzare i controlli server nello stesso modo in cui si utilizzano i controlli in un'applicazione client senza che sia necessario occuparsi della creazione dell'HTML per presentare ed elaborare i controlli e il relativo contenuto.

  • Modello di programmazione basato su eventi   Le pagine Web ASP.NET consentono di utilizzare per le applicazioni Web il noto modello di scrittura dei gestori eventi per gli eventi generati sul client o sul server. Il framework di pagine ASP.NET astrae questo modello in modo che il meccanismo sottostante per l'acquisizione di un evento sul client, la trasmissione di tale evento al server e la chiamata del metodo appropriato siano automatici e invisibili all'utente. Ne risulta una struttura di codice scritta in modo semplice e chiaro che supporta lo sviluppo basato su eventi.

  • Gestione intuitiva dello stato   Il framework di pagine ASP.NET gestisce automaticamente le attività di gestione dello stato della pagina e dei relativi controlli e consente di gestire in modo esplicito lo stato delle informazioni specifiche delle applicazioni. Tale gestione può essere eseguita senza un ingente utilizzo di risorse server e può essere implementata con o senza l'invio di cookie al browser.

  • Applicazioni indipendenti dal browser   Il framework di pagine ASP.NET consente la creazione di tutta la logica delle applicazioni sul server, eliminando la necessità di definire in modo esplicito le differenze dei browser nel codice. Permette tuttavia di avvalersi delle funzionalità specifiche dei browser scrivendo il codice lato client al fine di fornire un livello più elevato di prestazioni e applicazioni client più ricche e complesse.

  • Supporto per il Common Language Runtime di .NET Framework.   Il framework di pagine ASP.NET è incorporato in .NET Framework e pertanto l'intero framework è disponibile per qualsiasi applicazione ASP.NET. Le applicazioni possono essere scritte in qualsiasi linguaggio compatibile con il runtime. L'accesso ai dati viene inoltre semplificato mediante l'infrastruttura di accesso ai dati fornita da .NET Framework, incluso ADO.NET.

  • Scalabilità delle prestazioni del server .NET Framework   Il framework di pagine ASP.NET consente di rendere scalabile l'applicazione Web da un computer con un singolo processore a una Web farm multicomputer in modo efficace e diretto e senza apportare modifiche complesse alla logica dell'applicazione.

Vedere anche

Altre risorse

Creazione di pagine Web ASP.NET

Creazione di siti Web ASP.NET