Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
ASP.NET Web Form fa parte del framework dell'applicazione Web ASP.NET ed è incluso in Visual Studio. È uno dei quattro modelli di programmazione che è possibile usare per creare applicazioni Web ASP.NET, altre sono ASP.NET MVC, ASP.NET pagine Web e ASP.NET applicazioni a pagina singola.
I Web Form sono pagine richieste dagli utenti tramite il browser. Queste pagine possono essere scritte usando una combinazione di codice HTML, script client, controlli server e codice server. Quando gli utenti richiedono una pagina, vengono compilati ed eseguiti nel server dal framework e quindi il framework genera il markup HTML che il browser può eseguire. Una pagina web Form ASP.NET presenta informazioni all'utente in qualsiasi browser o dispositivo client.
Con Visual Studio è possibile creare ASP.NET Web Form. L'IDE (Integrated Development Environment) di Visual Studio consente di trascinare e rilasciare i controlli server per definire il layout della pagina Web Form. È quindi possibile impostare facilmente proprietà, metodi ed eventi per i controlli nella pagina o per la pagina stessa. Queste proprietà, metodi ed eventi vengono usate per definire il comportamento, l'aspetto e l'aspetto della pagina Web e così via. Per scrivere codice server per gestire la logica per la pagina, è possibile usare un linguaggio .NET come Visual Basic o C#.
Annotazioni
ASP.NET e la documentazione di Visual Studio riguardano diverse versioni. Gli argomenti che evidenziano le funzionalità delle versioni precedenti possono essere utili per le attività e gli scenari correnti che usano le versioni più recenti.
ASP.NET Web Form sono:
- In base alla tecnologia Microsoft ASP.NET, in cui il codice eseguito nel server genera dinamicamente l'output della pagina Web nel browser o nel dispositivo client.
- Compatibile con qualsiasi browser o dispositivo mobile. Una pagina Web ASP.NET esegue automaticamente il rendering del codice HTML conforme al browser corretto per funzionalità quali stili, layout e così via.
- Compatibile con qualsiasi linguaggio supportato da Common Language Runtime di .NET, ad esempio Microsoft Visual Basic e Microsoft Visual C#.
- Basato su Microsoft .NET Framework. Ciò offre tutti i vantaggi del framework, tra cui un ambiente gestito, la sicurezza dei tipi e l'ereditarietà.
- Flessibile perché è possibile aggiungere controlli creati dall'utente e di terze parti.
ASP.NET Web Forms offrono:
- Separazione del codice HTML e di altro codice dell'interfaccia utente dalla logica dell'applicazione.
- Un'ampia gamma di controlli server per attività comuni, incluso l'accesso ai dati.
- Potente data binding, con un ottimo supporto agli strumenti.
- Supporto per gli script sul lato client eseguiti nel browser.
- Supporto per un'ampia gamma di altre funzionalità, tra cui routing, sicurezza, prestazioni, internazionalizzazione, test, debug, gestione degli errori e gestione dello stato.
ASP.NET Web Form consente di superare le sfide
La programmazione di applicazioni Web presenta problemi che in genere non si verificano durante la programmazione di applicazioni tradizionali basate su client. Tra le sfide:
- Implementazione di un'interfaccia utente Web avanzata : può essere difficile e noiosa progettare e implementare un'interfaccia utente usando funzionalità HTML di base, soprattutto se la pagina ha un layout complesso, una grande quantità di contenuto dinamico e oggetti interattivi utente completi.
- Separazione di client e server : in un'applicazione Web, il client (browser) e il server sono programmi diversi spesso in esecuzione in computer diversi (e anche in sistemi operativi diversi). Di conseguenza, le due metà dell'applicazione condividono pochissime informazioni; possono comunicare, ma in genere scambiano solo piccoli blocchi di informazioni semplici.
- Esecuzione senza stato : quando un server Web riceve una richiesta per una pagina, trova la pagina, lo elabora, lo invia al browser e quindi rimuove tutte le informazioni sulla pagina. Se l'utente richiede di nuovo la stessa pagina, il server ripete l'intera sequenza, rielaborando la pagina da zero. Per dirla diversamente, un server non ha memoria delle pagine elaborate; le pagine sono stateless. Pertanto, se un'applicazione deve mantenere informazioni su una pagina, la sua natura priva di stato può diventare un problema.
- Funzionalità client sconosciute : in molti casi, le applicazioni Web sono accessibili a molti utenti che usano browser diversi. I browser hanno funzionalità diverse, rendendo difficile creare un'applicazione che verrà eseguita altrettanto bene su tutti.
- Complicazioni con l'accesso ai dati : la lettura e la scrittura in un'origine dati nelle applicazioni Web tradizionali possono essere complesse e a elevato utilizzo di risorse.
- Complicazioni con scalabilità : in molti casi le applicazioni Web progettate con metodi esistenti non soddisfano gli obiettivi di scalabilità a causa della mancanza di compatibilità tra i vari componenti dell'applicazione. Si tratta spesso di un punto di errore comune per le applicazioni in un ciclo di crescita elevato.
Soddisfare queste sfide per le applicazioni Web può richiedere tempo e impegno sostanziali. ASP.NET Web Form e il framework di ASP.NET risolvere questi problemi nei modi seguenti:
- Modello a oggetti intuitivo e coerente : il framework di pagine ASP.NET presenta un modello a oggetti che consente di considerare i moduli come un'unità, non come parti client e server separate. In questo modello è possibile programmare la pagina in modo più intuitivo rispetto alle applicazioni Web tradizionali, inclusa la possibilità di impostare le proprietà per gli elementi della pagina e rispondere agli eventi. Inoltre, ASP.NET controlli server sono un'astrazione dal contenuto fisico di una pagina HTML e dall'interazione diretta tra browser e server. In generale, è possibile usare i controlli server nel modo in cui è possibile usare i controlli in un'applicazione client e non è necessario pensare a come creare il codice HTML per presentare ed elaborare i controlli e il relativo contenuto.
- Modello di programmazione basato su eventi: ASP.NET Web Form porta alle applicazioni Web il modello familiare di scrittura di gestori eventi per gli eventi che si verificano nel client o nel server. Il framework di pagina ASP.NET astrae questo modello in modo che il meccanismo sottostante di acquisizione di un evento sul client, la trasmissione al server e la chiamata al metodo appropriato sia tutto automatico e invisibile all'utente. Il risultato è una struttura di codice chiara e facilmente scritta che supporta lo sviluppo basato su eventi.
- Gestione intuitiva dello stato : il framework di pagina ASP.NET gestisce automaticamente l'attività di gestione dello stato della pagina e dei relativi controlli e offre modi espliciti per mantenere lo stato delle informazioni specifiche dell'applicazione. Questa operazione viene eseguita senza un uso elevato delle risorse del server e può essere implementata con o senza inviare cookie al browser.
- Applicazioni indipendenti dal browser : il framework di pagine ASP.NET consente di creare tutta la logica dell'applicazione nel server, eliminando la necessità di codificare in modo esplicito le differenze nei browser. Tuttavia, consente comunque di sfruttare le funzionalità specifiche del browser scrivendo codice lato client per offrire prestazioni migliorate e un'esperienza client più completa.
- Supporto di Common Language Runtime di .NET Framework : il framework di pagine ASP.NET è basato su .NET Framework, quindi l'intero framework è disponibile per qualsiasi applicazione ASP.NET. Le applicazioni possono essere scritte in qualsiasi linguaggio compatibile con il runtime. Inoltre, l'accesso ai dati viene semplificato usando l'infrastruttura di accesso ai dati fornita da .NET Framework, incluso ADO.NET.
- Prestazioni server scalabili di .NET Framework : il framework di pagina ASP.NET consente di ridimensionare l'applicazione Web da un computer con un singolo processore a una Web farm multi-computer in modo pulito e senza modifiche complesse alla logica dell'applicazione.
Funzionalità di ASP.NET Web Form
- Controlli server: I controlli server Web di ASP.NET sono oggetti presenti nelle pagine Web di ASP.NET che vengono eseguiti quando la pagina viene richiesta e che eseguono il rendering del markup nel browser. Molti controlli server Web sono simili agli elementi HTML familiari, ad esempio pulsanti e caselle di testo. Altri controlli includono un comportamento complesso, ad esempio controlli del calendario, e controlli che è possibile usare per connettersi alle origini dati e visualizzare i dati.
- Master Pages: Le Master Pages di ASP.NET consentono di creare un layout coerente per le pagine della tua applicazione. Una singola pagina master definisce l'aspetto e il comportamento standard da applicare a tutte le pagine (o a un gruppo di pagine) dell'applicazione. È quindi possibile creare singole pagine di contenuto che contengono il contenuto che si desidera visualizzare. Quando gli utenti richiedono le pagine di contenuto, si uniscono alla pagina master per produrre output che combina il layout della pagina master con il contenuto della pagina contenuto.
- L'uso di data- ASP.NET offre molte opzioni per l'archiviazione, il recupero e la visualizzazione dei dati. In un'applicazione Web Form ASP.NET si usano controlli associati a dati per automatizzare la presentazione o l'input dei dati negli elementi dell'interfaccia utente della pagina Web, ad esempio tabelle e caselle di testo e elenchi a discesa.
- Appartenenza: ASP.NET Identità archivia le credenziali degli utenti in un database creato dall'applicazione. Quando gli utenti accedono, l'applicazione convalida le credenziali leggendo il database. La cartella Account del progetto contiene i file che implementano le varie parti dell'appartenenza: registrazione, accesso, modifica di una password e autorizzazione dell'accesso. Inoltre, ASP.NET Web Form supporta OAuth e OpenID. Questi miglioramenti di autenticazione consentono agli utenti di accedere al sito usando credenziali esistenti, da account come Facebook, Twitter, Windows Live e Google. Per impostazione predefinita, il modello crea un database di appartenenza usando un nome di database predefinito in un'istanza di SQL Server Express LocalDB, il server di database di sviluppo fornito con Visual Studio Express 2013 per Web.
- Script client e framework client: è possibile migliorare le funzionalità basate su server di ASP.NET integrando le funzionalità di script client nelle pagine ASP.NET Web Form. È possibile usare lo script client per offrire agli utenti un'interfaccia utente più ricca e reattiva. È anche possibile usare lo script client per effettuare chiamate asincrone al server Web mentre una pagina è in esecuzione nel browser.
- Routing: il routing URL consente di configurare un'applicazione per accettare gli URL delle richieste che non eseguono il mapping ai file fisici. Un URL di richiesta è semplicemente l'URL immesso dall'utente nel browser per trovare una pagina nel sito Web. Si usa il routing per definire gli URL che sono semanticamente significativi per gli utenti e che possono essere utili per l'ottimizzazione del motore di ricerca (SEO).
- Gestione stato: ASP.NET Web Form include diverse opzioni che consentono di mantenere i dati in base a pagina e a livello di applicazione.
- Sicurezza: una parte importante dello sviluppo di un'applicazione più sicura consiste nel comprendere le minacce. Microsoft ha sviluppato un modo per classificare le minacce: Spoofing, Manomissione, Ripudio, Divulgazione di informazioni, Denial of Service, Elevazione dei privilegi (STRIDE). In ASP.NET Web Form è possibile aggiungere punti di estendibilità e opzioni di configurazione che consentono di personalizzare vari comportamenti di sicurezza in ASP.NET Web Form.
- Prestazioni: le prestazioni possono essere un fattore chiave in un sito Web o un progetto riuscito. ASP.NET Web Form consente di modificare le prestazioni correlate all'elaborazione di pagine e controllo server, alla gestione dello stato, all'accesso ai dati, alla configurazione e al caricamento delle applicazioni e alle procedure di codifica efficienti.
- Internazionalizzazione- ASP.NET Web Form consente di creare pagine Web in grado di ottenere contenuto e altri dati in base all'impostazione della lingua preferita per il browser o in base alla scelta esplicita della lingua dell'utente. Il contenuto e altri dati vengono definiti risorse e tali dati possono essere archiviati in file di risorse o in altre origini. In una pagina Web Forms di ASP.NET, è possibile configurare i controlli per ottenere i valori delle proprietà dalle risorse. In fase di esecuzione, le espressioni di risorsa vengono sostituite dalle risorse del file di risorse localizzato appropriato.
- Debug e gestione degli errori: ASP.NET include funzionalità che consentono di diagnosticare i problemi che possono verificarsi nell'applicazione Web Form. Il debug e la gestione degli errori sono supportati in ASP.NET Web Form in modo che le applicazioni vengano compilate ed eseguite in modo efficace.
- Distribuzione e hosting: Visual Studio, ASP.NET, Azure e IIS forniscono strumenti che consentono di eseguire la distribuzione e l'hosting dell'applicazione Web Form.
Scelta di quando creare un'applicazione Web Form
È necessario valutare attentamente se implementare un'applicazione Web usando il modello Web Form ASP.NET o un altro modello, ad esempio il framework MVC ASP.NET. Il framework MVC non sostituisce il modello Web Form; è possibile usare entrambi i framework per le applicazioni Web. Prima di decidere di usare il modello Web Form o il framework MVC per un sito Web specifico, valutare i vantaggi di ogni approccio.
Vantaggi di un'applicazione web basata su moduli web
Il framework basato su Web Form offre i vantaggi seguenti:
- Supporta un modello di evento che mantiene lo stato su HTTP, che offre vantaggi allo sviluppo di applicazioni Web line-of-business. L'applicazione basata su Web Form fornisce decine di eventi supportati in centinaia di controlli server.
- Usa un modello di controller di pagina che aggiunge funzionalità alle singole pagine. Per altre informazioni, vedere Controller di pagina.
- Usa moduli basati sullo stato di visualizzazione o su server, che semplificano la gestione delle informazioni sullo stato.
- Funziona bene per piccoli team di sviluppatori Web e progettisti che vogliono sfruttare il numero elevato di componenti disponibili per lo sviluppo rapido di applicazioni.
- In generale, è meno complesso per lo sviluppo di applicazioni, perché i componenti (la classe Page , i controlli e così via) sono strettamente integrati e in genere richiedono meno codice del modello MVC.
Vantaggi di un'applicazione Web MVC-Based
Il framework ASP.NET MVC offre i vantaggi seguenti:
- Semplifica la gestione della complessità dividendo un'applicazione nel modello, nella visualizzazione e nel controller.
- Non usa moduli basati su server o sullo stato di visualizzazione. Questo rende il framework MVC ideale per gli sviluppatori che vogliono il controllo completo sul comportamento di un'applicazione.
- Usa un modello front controller che elabora le richieste dell'applicazione Web tramite un singolo controller. In questo modo è possibile progettare un'applicazione che supporta un'infrastruttura di routing avanzata. Per altre informazioni, vedere Front Controller.
- Offre un supporto migliore per lo sviluppo basato su test (TDD).
- Funziona bene per le applicazioni Web supportate da grandi team di sviluppatori e progettisti Web che necessitano di un alto grado di controllo sul comportamento dell'applicazione.