ASP.NET
ASP.NET (Active Server Pages for .NET) è una piattaforma di sviluppo di applicazioni web , che comprende: servizi web , infrastruttura software, modello di programmazione [1] , di Microsoft . ASP.NET fa parte di .NET Framework [2] ed è un'evoluzione della vecchia tecnologia Microsoft ASP .
ASP.NET mantiene molte somiglianze con la vecchia tecnologia ASP in apparenza, rendendo relativamente facile per gli sviluppatori la migrazione ad ASP.NET. Allo stesso tempo, ASP.NET è internamente molto diverso da ASP perché si basa sulla piattaforma .NET e quindi sfrutta tutte le nuove funzionalità fornite da questa piattaforma.
Storia di ASP.NET
Dopo il rilascio di Internet Information Services 4.0 nel 1997, Microsoft iniziò a esplorare la possibilità di un nuovo modello di applicazione Web che soddisfacesse i reclami relativi all'ASP, in particolare quelli relativi alla separazione del design dal contenuto, e che consentisse di scrivere codice "pulito" [3] . Il compito di sviluppare un modello di questo tipo è stato assegnato a Mark Anders, team manager di IIS e Scott Guthrie , che si sono uniti a Microsoft nel 1997. Anders e Guthrie hanno sviluppato la progettazione iniziale entro due mesi e Guthrie ha codificato il prototipo iniziale durante le vacanze di Natale del 1997. [quattro]
Il progetto originale si chiamava "XSP"; Guthrie ha spiegato in un'intervista del 2007 che "Le persone chiedono sempre cosa significhi la X. All'epoca non significava nulla. XML inizia con esso; XSLT inizia con esso. Tutto ciò che è bello inizia con una X, motivo per cui l'abbiamo chiamata così". [3] Il prototipo XSP è stato scritto in Java , poiché a quel tempo Microsoft non disponeva di una tecnologia simile a Java. All'epoca si presumeva già (non irragionevolmente, come si è scoperto in seguito) che la licenza Java per Microsoft non sarebbe stata rinnovata nel 2003 (la licenza rilasciata da Sun Microsystems è scaduta nel 2003 ). Nel 1999 Microsoft ha deciso di costruire una piattaforma con Common Language Runtime (CLR) e di sviluppare tecnologie basate su di essa. Come Java , utilizzava la programmazione OOP , la raccolta dei rifiuti e altre funzionalità [5] . Guthrie ha descritto la decisione come "un enorme rischio", poiché il successo del nuovo sviluppo era legato al successo del CLR, che, come XSP, era nelle sue prime fasi di sviluppo.
Principi ASP.NET
Poiché ASP.NET è basato sul Common Language Runtime (CLR), che è alla base di tutte le applicazioni Microsoft .NET, gli sviluppatori possono scrivere codice per ASP.NET utilizzando i linguaggi di programmazione inclusi con .NET Framework ( C# , Visual Basic.NET , J# e JScript .NET ) [1] .
Il modello di programmazione ASP.NET si basa sul protocollo HTTP e ne utilizza le regole per l'interazione tra il server e il browser. Quando si forma la pagina, viene stabilito il modello di programmazione astratto di Web Forms e su di esso si basa la parte principale dell'implementazione del codice del programma [1] .
Modelli software
ASP.NET supporta diversi modelli di programmazione per la creazione di applicazioni web [6] :
- ASP.NET Web Forms - un framework per la creazione di pagine Web modularigestione degli eventi dell'interfaccia utente lato server
- ASP.NET MVC è un framework per la creazione di pagine Web utilizzando il design pattern MVC ;
- Pagine Web ASP.NET - una sintassi semplificataper l'aggiunta di codice dinamico e l'accesso ai dati all'interno del markup HTML delle pagine Web [7] ;
- API Web ASP.NET - un framework per la creazione di un'API Web su .NET Framework [8] ;
- ASP.NET WebHooks: un'implementazione del modello Webhook per la sottoscrizione di eventi e la pubblicazione di eventi su HTTP;
- SignalR è un framework di messaggistica bidirezionale in tempo reale tra un client e un server.
Altre estensioni ASP.NET:
- Gestore ASP.NET - componenti che implementano il
System.Web.IHttpHandler. A differenza delle pagine ASP.NET, non dispongono di un file di markup HTML, non supportano la gestione degli eventi e altre tecnologie assistive. Contengono solo un file con codice di programma scritto in uno qualsiasi dei linguaggi compatibili con .NET che scrive alcuni dati nella risposta HTTP. I gestori HTTP sono simili alleestensioni ISAPI ; - ASP.NET AJAX - un'estensione contenente componenti client e server per la creazione di pagine ASP.NET che implementano la funzionalità AJAX ;
- ASP.NET Dynamic Data è un'estensione di scaffolding per la creazione di applicazioni basate sui dati.
Sicurezza
In ASP.NET, per gestire il sistema di autenticazione degli utenti sul sito, è stato implementato tramite l'API Membership, che fornisce i mezzi per accedere, archiviare e gestire gli account utente. L'architettura dell'API Membership è costruita in modo tale da permetterti di gestire gli utenti archiviati in varie fonti: Microsoft SQL Server , Microsoft Active Directory o storage speciale (implementato da te, ma poi devi implementare tu stesso il provider per connetterti alla banca dati generalizzata dei fornitori) [9] [10] . In ASP.NET , l'autenticazione può essere eseguita utilizzando moduli o utilizzando Windows tramite IIS [9] [11] .
Vantaggi di ASP.NET su ASP
- Il codice compilato viene eseguito più velocemente, la maggior parte degli errori viene rilevata nella fase di sviluppo;
- Gestione degli errori significativamente migliorata durante l'esecuzione di un programma finito in esecuzione, utilizzando i blocchi try..catch;
- I controlli utente (controlli) consentono di evidenziare i modelli utilizzati di frequente, come i menu del sito;
- Utilizzando metafore già utilizzate nelle applicazioni Windows, come controlli ed eventi;
- Un insieme estensibile di controlli e librerie di classi consente uno sviluppo più rapido delle applicazioni;
- ASP.NET si basa sulle capacità multilingue di .NET , che consente di scrivere il codice della pagina in VB.NET , Delphi.NET , Visual C# , J# , ecc.;
- La possibilità di memorizzare nella cache l'intera pagina o parte di essa per aumentare le prestazioni;
- Possibilità di memorizzare nella cache i dati utilizzati nella pagina;
- Capacità di separare la parte visiva e la logica aziendale in file diversi ("code behind");
- Modello estensibile di elaborazione delle richieste;
- Modello di eventi estesi;
- Modello di controllo del server estensibile;
- La presenza di pagine master per l'impostazione dei modelli di progettazione delle pagine;
- Supporto per operazioni CRUD quando si lavora con le tabelle tramite GridView;
- Supporto AJAX integrato ;
Note
- ↑ 1 2 3 Dino Esposito. Microsoft ASP.NET 2.0. Corso base. - San Pietroburgo. : ID Peter, 2007. - 688 p. - ISBN 978-5-91180-423-7 . — ISBN 978-5-7502-0304-8 .
- ^ Platt DS Presentazione di Microsoft .NET. - M. : I. D. edizione russa, 2001. - 240 p. — ISBN 5-7502-0186-4 .
- ↑ 1 2 Profilo del giornale di architettura: Scott Guthrie (link non disponibile) . Il giornale di architettura . Microsoft (gennaio 2007). Estratto il 20 aprile 2008. Archiviato dall'originale il 24 agosto 2011.
- ^ Michiel van Otegem. Intervista a Scott Guthrie, creatore di ASP.NET (collegamento morto) (24 luglio 2007). Estratto il 20 aprile 2008. Archiviato dall'originale il 9 novembre 2007.
- ^ Tim Anderson. Come è nato ASP.NET in Java (link non disponibile) . Il Registro (30 ottobre 2007). Estratto il 20 aprile 2008. Archiviato dall'originale il 24 agosto 2011.
- ↑ Scegli tra ASP.NET e ASP.NET Core . docs.microsoft.com . Estratto il 2 giugno 2019 Archiviata dall'originale il 16 giugno 2018.
- ↑ Domande frequenti sulle pagine Web ASP.NET (Razor) . docs.microsoft.com . Estratto il 2 giugno 2019 . Archiviato dall'originale il 12 giugno 2019.
- ↑ Introduzione all'API Web ASP.NET 2 (C# ) . docs.microsoft.com . Estratto il 2 giugno 2019 . Archiviato dall'originale il 2 giugno 2019.
- ^ 1 2 McDonald Matthew, Freeman Adam, Shpusta Mario. Microsoft ASP.NET 4 con esempi C# 2010 per professionisti. - 4a ed. - M .: LLC "ID Williams", 2011. - 1424 p. — ISBN 978-5-8459-1702-7 . - ISBN 978-1-43-022529-4 .
- ↑ Classe di appartenenza . MSDN . Microsoft . Estratto il 25 marzo 2018 . Archiviato dall'originale il 25 marzo 2018.
- ^ Laurence Moroney, Matthew MacDonald. Pro ASP.NET 2.0 in VB 2005. - Apress, 2006. - 1296 p. — ISBN 978-1-59059-563-3 .
Vedi anche
- Gestione dello stato ASP.NET
- API di appartenenza
- Web.config
- XSP - server web per l'esecuzione di ASP.NET su Linux
Collegamenti
- Novità di ASP.NET 4
- Parla delle novità di ASP.NET 4 e MVC Framework 2.0
- ASP.NET Web è il sito ufficiale ASP.NET di Microsoft.
- Esercitazione ASP.NET - Esercitazione ASP.NET
- Kbyte.Ru è un sito Web in lingua russa per la programmazione ASP.NET.
- http://www.gotdotnet.ru/Forums è un forum ASP.NET in lingua russa supportato da Microsoft.
Letteratura
- Adam Freeman. ASP.NET MVC 5 con esempi C# 5.0 per professionisti, 5a edizione = Pro ASP.NET MVC 5. - M .: Williams , 2014. - 736 p. — ISBN 978-5-8459-1911-3 .
- Jess Chadwick, Todd Snyder, Hrishikesh Panda. ASP.NET MVC 4: Sviluppo di applicazioni Web del mondo reale con ASP.NET MVC = Programmazione ASP.NET MVC 4: Sviluppo di applicazioni Web del mondo reale con ASP.NET MVC. - M. : "Williams" , 2013. - 432 p. - ISBN 978-5-8459-1841-3 .
- Adam Freeman. ASP.NET 4.5 con C# 5.0 Esempi per professionisti, 5a edizione = Pro ASP.NET 4.5 in C#, 5a edizione. - M. : "Williams" , 2014. - 1120 p. — ISBN 978-5-8459-1878-9 .
- Daniel Arsenovski. Refactoring in C# e ASP.NET per professionisti = Refactoring professionale in C# e ASP.NET. - M .: "Dialettica" , 2009. - S. 528. - ISBN 978-5-8459-1618-1 .