ASP.NET
ASP.NET (Active Server Pages for .NET) to platforma do tworzenia aplikacji internetowych , w skład której wchodzą: usługi internetowe , infrastruktura oprogramowania, model programowania [1] , firmy Microsoft . ASP.NET jest częścią .NET Framework [2] i stanowi ewolucję starszej technologii Microsoft ASP .
ASP.NET zachowuje wiele podobieństw do starszej technologii ASP w wyglądzie, co ułatwia programistom migrację do ASP.NET. Jednocześnie ASP.NET bardzo różni się wewnętrznie od ASP, ponieważ opiera się na platformie .NET i dlatego wykorzystuje wszystkie nowe funkcje oferowane przez tę platformę.
Historia ASP.NET
Po wydaniu Internetowych Usług Informacyjnych 4.0 w 1997 roku Microsoft zaczął badać możliwość nowego modelu aplikacji webowych, który zaspokoiłby narzekania na ASP, zwłaszcza te związane z oddzieleniem projektu od treści, i który umożliwiłby pisanie „czystego” kodu [3] . Zadanie opracowania takiego modelu zostało powierzone Markowi Andersowi, kierownikowi zespołu IIS, oraz Scottowi Guthrie , który dołączył do Microsoftu w 1997 roku. Anders i Guthrie opracowali wstępny projekt w ciągu dwóch miesięcy, a Guthrie zakodował początkowy prototyp podczas świąt Bożego Narodzenia w 1997 roku. [cztery]
Oryginalny projekt nosił nazwę „XSP”; Guthrie wyjaśnił w wywiadzie z 2007 roku, że „Ludzie zawsze pytają, co oznacza X. Wtedy to nic nie znaczyło. XML zaczyna się od niego; XSLT zaczyna się od tego. Wszystko, co fajne, zaczyna się od X, dlatego nazwaliśmy to tak”. [3] Prototyp XSP został napisany w Javie , ponieważ w tym czasie Microsoft nie posiadał technologii podobnej do Javy. Już wtedy zakładano (nie bezzasadnie, jak się później okazało), że licencja Java dla Microsoftu nie zostanie odnowiona w 2003 roku (licencja wydana przez Sun Microsystems wygasła w 2003 roku ). W 1999 roku Microsoft zdecydował się zbudować platformę z Common Language Runtime (CLR) i rozwijać oparte na niej technologie. Podobnie jak Java , używał programowania OOP , garbage collection i innych funkcji [5] . Guthrie określił tę decyzję jako „ogromne ryzyko”, ponieważ sukces nowego rozwoju był związany z sukcesem CLR, który, podobnie jak XSP, był na wczesnym etapie rozwoju.
Zasady ASP.NET
Ponieważ ASP.NET bazuje na Common Language Runtime (CLR), który jest podstawą wszystkich aplikacji Microsoft .NET, programiści mogą pisać kod dla ASP.NET przy użyciu języków programowania zawartych w .NET Framework ( C# , Visual Basic.NET , J# i JScript .NET ) [1] .
Model programowania ASP.NET opiera się na protokole HTTP i wykorzystuje jego reguły do interakcji między serwerem a przeglądarką. Podczas tworzenia strony ustalany jest abstrakcyjny model programowania formularzy internetowych i na nim opiera się główna część implementacji kodu programu [1] .
Modele oprogramowania
ASP.NET obsługuje kilka modeli programowania do tworzenia aplikacji internetowych [6] :
- ASP.NET Web Forms - framework do tworzenia modularnych stron internetowych z komponentów z obsługą zdarzeńpo stronie serwera ;
- ASP.NET MVC to framework do tworzenia stron internetowych przy użyciu wzorca projektowego MVC ;
- ASP.NET Web Pages - uproszczona składnia do dodawania dynamicznego kodu i dostępu do danych wewnątrz znaczników HTML stron internetowych [7] ;
- ASP.NET Web API — framework do tworzenia internetowego interfejsu API na bazie .NET Framework [8] ;
- ASP.NET WebHooks — implementacja wzorca Webhook do subskrybowania zdarzeń i publikowania zdarzeń za pośrednictwem protokołu HTTP;
- SignalR to dwukierunkowa platforma obsługi wiadomości w czasie rzeczywistym między klientem a serwerem.
Inne rozszerzenia ASP.NET:
- ASP.NET Handler — komponenty, które implementują
System.Web.IHttpHandler. W przeciwieństwie do stron ASP.NET nie mają one pliku znaczników HTML, nie obsługują obsługi zdarzeń i innych technologii pomocniczych. Zawierają tylko plik z kodem programu napisanym w dowolnym języku zgodnym z .NET, który zapisuje niektóre dane w odpowiedzi HTTP. Programy obsługi HTTP są podobne dorozszerzeń ISAPI ; - ASP.NET AJAX - rozszerzenie zawierające zarówno komponenty klienckie jak i serwerowe do tworzenia stron ASP.NET implementujących funkcjonalność AJAX ;
- Dynamiczne dane ASP.NET to rozszerzenie rusztowania do tworzenia aplikacji opartych na danych.
Bezpieczeństwo
W ASP.NET do zarządzania systemem uwierzytelniania użytkowników w serwisie został zaimplementowany poprzez Membership API, który zapewnia możliwość logowania, przechowywania i zarządzania kontami użytkowników. Architektura Membership API jest zbudowana w taki sposób, że pozwala na zarządzanie użytkownikami przechowywanymi w różnych źródłach: Microsoft SQL Server , Microsoft Active Directory lub specjalnym magazynie (wdrożonym samodzielnie, ale wtedy trzeba samemu zaimplementować dostawcę, aby się połączyć do uogólnionej bazy dostawców) [9] [10] . W ASP.NET uwierzytelnianie może odbywać się za pomocą formularzy lub za pomocą systemu Windows przez IIS [9] [11] .
Korzyści z ASP.NET nad ASP
- Skompilowany kod działa szybciej, większość błędów jest wyłapywana na etapie rozwoju;
- Znacznie ulepszona obsługa błędów podczas wykonywania uruchomionego, ukończonego programu, przy użyciu bloków try..catch;
- Kontrolki użytkownika (kontrolki) pozwalają wyróżnić często używane szablony, takie jak menu witryny;
- Używanie metafor już używanych w aplikacjach Windows, takich jak kontrolki i zdarzenia;
- Rozszerzalny zestaw kontrolek i bibliotek klas umożliwia szybsze tworzenie aplikacji;
- ASP.NET opiera się na wielojęzycznych możliwościach platformy .NET , która umożliwia pisanie kodu strony w językach VB.NET , Delphi.NET , Visual C# , J# itp.;
- Możliwość buforowania całej strony lub jej części w celu zwiększenia wydajności;
- Możliwość buforowania danych używanych na stronie;
- Możliwość rozdzielenia części wizualnej i logiki biznesowej na różne pliki („code behind”);
- Rozszerzalny model przetwarzania żądań;
- Rozszerzony model wydarzenia;
- Rozszerzalny model kontroli serwera;
- Obecność stron wzorcowych do ustawiania szablonów projektów stron;
- Obsługa operacji CRUD podczas pracy z tabelami za pomocą GridView;
- Wbudowana obsługa AJAX ;
Notatki
- ↑ 1 2 3 Dino Esposito. Microsoft ASP.NET 2.0. Kurs podstawowy. - Petersburg. : I.D. Peter, 2007. - 688 s. - ISBN 978-5-91180-423-7 . — ISBN 978-5-7502-0304-8 .
- ↑ Platt DS przedstawia platformę Microsoft .NET. - M . : I.D. wydanie rosyjskie, 2001. - 240 s. — ISBN 5-7502-0186-4 .
- ↑ 1 2 Architecture Journal Profil: Scott Guthrie (link niedostępny) . Dziennik Architektury . Microsoft (styczeń 2007). Pobrano 20 kwietnia 2008 r. Zarchiwizowane z oryginału 24 sierpnia 2011 r.
- ↑ Michiel van Otegem. Wywiad ze Scottem Guthrie, twórcą ASP.NET (martwy link) (24 lipca 2007). Pobrano 20 kwietnia 2008 r. Zarchiwizowane z oryginału 9 listopada 2007 r.
- ↑ Tim Anderson. Jak uruchomiono ASP.NET w Javie (link niedostępny) . Rejestr (30 października 2007). Pobrano 20 kwietnia 2008 r. Zarchiwizowane z oryginału 24 sierpnia 2011 r.
- ↑ Wybierz między ASP.NET i ASP.NET Core . docs.microsoft.com . Pobrano 2 czerwca 2019 r. Zarchiwizowane z oryginału 16 czerwca 2018 r.
- ↑ Często zadawane pytania dotyczące stron sieci Web ASP.NET (Razor) . docs.microsoft.com . Pobrano 2 czerwca 2019 r. Zarchiwizowane z oryginału w dniu 12 czerwca 2019 r.
- ↑ Wprowadzenie do ASP.NET Web API 2 (C# ) . docs.microsoft.com . Pobrano 2 czerwca 2019 r. Zarchiwizowane z oryginału 2 czerwca 2019 r.
- ↑ 1 2 McDonald Matthew, Freeman Adam, Shpusta Mario. Microsoft ASP.NET 4 z przykładami C# 2010 dla profesjonalistów. - wyd. 4 - M. : LLC "ID Williams", 2011. - 1424 s. — ISBN 978-5-8459-1702-7 . - ISBN 978-1-43-022529-4 .
- ↑ Klasa członkostwa . MSDN . Microsoft . Pobrano 25 marca 2018 r. Zarchiwizowane z oryginału 25 marca 2018 r.
- ↑ Laurence Moroney, Matthew MacDonald. Pro ASP.NET 2.0 w VB 2005. - Apress, 2006. - 1296 s. — ISBN 978-1-59059-563-3 .
Zobacz także
- Zarządzanie stanem ASP.NET
- Interfejs API członkostwa
- Web.config
- XSP - serwer WWW do uruchamiania ASP.NET w systemie Linux
Linki
- Co nowego w ASP.NET 4
- Porozmawiaj o nowościach w ASP.NET 4 i MVC Framework 2.0
- ASP.NET Web to oficjalna witryna ASP.NET firmy Microsoft.
- Samouczek ASP.NET — samouczek ASP.NET
- Kbyte.Ru to rosyjskojęzyczna witryna do programowania ASP.NET.
- http://www.gotdotnet.ru/Forums to rosyjskojęzyczne forum ASP.NET obsługiwane przez Microsoft.
Literatura
- Adama Freemana. ASP.NET MVC 5 z przykładami C# 5.0 dla profesjonalistów, 5. edycja = Pro ASP.NET MVC 5. - M . : Williams , 2014. - 736 s. — ISBN 978-5-8459-1911-3 .
- Jess Chadwick, Todd Snyder, Hrishikesh Panda. ASP.NET MVC 4: Tworzenie rzeczywistych aplikacji internetowych za pomocą ASP.NET MVC = Programowanie ASP.NET MVC 4: Tworzenie rzeczywistych aplikacji internetowych za pomocą ASP.NET MVC. - M. : "Williams" , 2013. - 432 s. - ISBN 978-5-8459-1841-3 .
- Adama Freemana. ASP.NET 4.5 z przykładami C# 5.0 dla profesjonalistów, 5. edycja = Pro ASP.NET 4.5 w C#, 5. edycja. - M. : "Williams" , 2014. - 1120 s. — ISBN 978-5-8459-1878-9 .
- Daniela Arsenowskiego. Refaktoryzacja w C# i ASP.NET dla profesjonalistów = Profesjonalna refaktoryzacja w C# i ASP.NET. - M. : "Dialektyka" , 2009. - S. 528. - ISBN 978-5-8459-1618-1 .