Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do ASP.NET

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do ASP.NET"— Zapis prezentacji:

1 Wprowadzenie do ASP.NET
Dariusz Grzesiński

2 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracing Debugging

3 Ewolucja technologii webowych
HTML (HyperText Markup Language) CGI (Common Gateway Interface) ISAPI (Internet Server API) ASP (Active Server Pages) Idealny do stron statycznych Nie zapewnia zawartości dynamicznej Wykonywalne programy uruchamiane na web serwerze Problemy – wydajność i skalowalność Nie pliki wykonywalne, a DLL Problemy – trudne w pisaniu, zmiany wymagały restaru serwera Skryptowe środowisko programistyczne Problemy – brak skalowalnego środowiska, „spagetti code”, utrudniona konfiguracja

4

5 .NET Framework Komponenty
VB C++ C# JScript Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET: Data and XML Base Class Library Common Language Runtime

6 Common Language Specification Common Language Runtime
.NET Framework ASP.NET VB C++ C# JScript Visual Studio.NET Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET: Data and XML Base Class Library Common Language Runtime

7 ASP.NET - cechy Łatwy model programistyczny tworzenia aplikacji webowych Obługa wielu języków programowania Bogaty model obiektowy Kontrolki serwerowe Rozbudowane opcje zabezpieczeń Olbrzymia skalowalność aplikacji Web Services Łatwa konfiguracja i deployment Wreszcie kod kompilowany… znaczy szybszy - wzrost wydajności

8 Kompilacja i wykonywanie
HTML Just In Time Pierwszy request do strony .aspx MSIL Kompilator

9 Kompilacja i wykonywanie
HTML Just In Time Kolejne zapytania o stronę .aspx MSIL

10 Kompilacja i wykonywanie
HTML Just In Time Zmiana zawartości strony .aspx .aspx MSIL MSIL Kompilator

11 Jak to działa, czyli HTTP Runtime
IIS 5.0 aspnet_isapi.dll IIS Inetinfo.exe .html Przeglądarka AppDomain .aspx ASP.NET Worker Process HttpRuntime Application HTTP HTTP Pipline aspnet_wp.exe

12 Modele programowania kod <tagi> kod <tagi> Inline
Code behind kod <tagi> kod <tagi> Form1.aspx Form1.aspx Form1.aspx.cs Tylko strona ASPX zawierająca, HTML, tagi kontrolek i kod <script runat=„server”> Odseparowanie wyglądu strony od kodu Umożliwia jednoczesną pracę nad stroną programiście i projektantowi stron łatwiejsze ponowne wykorzystanie

13 Web Forms Model programistyczny ASP.NET Główne cechy:
Kontrolki serwerowe Model obiektowy oparty na zdarzeniach Możliwość programowania w C#, Visual Basic .NET, Jscript .NET… Łatwe tworzenie stron webowych!

14 Kontrolki serwerowe Runat="server" Posiadają wbudowaną funkcjonalność
<asp:Button id=„Button1” runat=„server” Text=„Submit” /> Runat="server" Zdarzenia wykonują się po stronie serwera Posiadają wbudowaną funkcjonalność Bazują na Common Object Model Programiści mogą tworzyć własne kontrolki Dziedzicząc z istniejących! Generują HTML specyficzny dla przeglądarki <asp:TextBox id="TextBox1" runat="server" Width="238px" Height="25px">Wprowadź hasło</asp:TextBox> <input name="TextBox1" type="text" value= "Wprowadź hasło" id= "TextBox1" style= "height:25px;width:238px" />

15 Tworzenie prostej aplikacji
DEMO Tworzenie prostej aplikacji ASP.NET

16 Dostęp do źródeł danych
ADO.NET Różne możliwości dostępu do danych DataAdapter / DataSet Dane z różnych zródeł: relacyjne bazy danych, xml Niezależnie od źródła danych oferuje tę samą funkcjonalność Disconnected !!! DataReader Forward-only

17 ASP.NET Security Rozbudowana architektura zabezpieczeń Autentykacja
Wiele opcji autentykacji / autoryzacji Dowolne repozytorium informacji o użytkownikach Autentykacja Windows Authentication Forms-based Authentication Passport Authentication Obsługa autoryzacji Nowa bazująca na rolach

18 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracking Debugging

19 Konfiguracja aplikacji ASP.NET
Przy wykorzystaniu plików xml-owych Wykorzystywane są dwa typy plików konfiguracyjnych machine.config - służy do konfigurowania ustawień globalnych dla wszystkich aplikacji .NET na komputerze web.config - wykorzystywany do nadpisywania ustawień domyślnych, zawiera również wiele ustawień specyficznych dla aplikacji webowych.

20 Anatomia plików CONFIG
Struktura plików konfiguracyjnych Hierarchiczne dziedziczenie ustawień Scentralizowane ustawienia konfiguracyjne Każdy plik web.config obowiązuje w swoim katalogu oraz podkatalogach Ustawienia w podkatalogach mogą zostać nadpisane, bądź nie allowOverride = „false” Request do strony – w jaki sposób odbywa się sprawdzanie uprawnień: Ustawienia globalne w machine.config Ustawienia konfiguracyjne web.config aplikacji myapplication Ustawienia konfiguracyjne w web.config w podkatalogu aplikacji mydir

21 Rozszerzenie funkcjonalności plików konfiguracyjnych
Definiowanie własnych danych konfiguracyjnych W sekcji <appSettings/> We własnej sekcji konfiguracyjnej Wykorzystanie custom configuration handler Wykorzystanie istniejących handlerów NameValueFileSectionHandler SingleTagSectionHandler Zdefiniowanie własnej skomplikowanej struktury xml’owej Stworzenie własnego handlera, który będzie obsługiwał tę sekcję Klasa implementująca interfejs IConfigurationSectionHandler using System.Configuration; ConfigurationSettings.AppSettings[„CompName”];

22 Zabezpieczanie plików konfiguracyjnych
Zapezpieczone przed dostępem poprzez przeglądarkę Zwraca błąd HTTP 403 Forbidden HttpForbiddenHandler może posłużyć do zabezpieczania innych prywatnych plików Możliwość szyfrowania części pliku konfiguracyjnego przy użyciu DPAPI <processModel/>, <sessionState/>, <identity/> przy użyciu aspnet_setreg.exe

23 Zalety plików konfiguracyjnych
Przechowywane razem z projektem Wykorzystanie standardu XML Łatwe przenoszenie konfiguracji Elastyczne rozwiązanie – własne sekcje Automatyczne zastosowanie zmian Bezpieczeństwo

24 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracking Debugging

25 Przechowywanie stanu Problem: HTTP protokołem bezstanowym 
ASP.NET zapewnia na kliku poziomach Aplikacji – HttpApplicationState Sesji – HttpSessionState Strony – ViewState Przechowywanie stanu aplikacji Kolekcja par – klucz/wartość Kłopotliwa synchronizacja danych – Application.Lock()/UnLock() Warto rozważyć zmienne globalne w global.asax Potencjalna utrata danch np. recycling procesu ASP.NET

26 Przechowywanie stanu sesji
InProc Out-of-Proc State Server Usługa Windows ASP.NET State Service Instalowana domyślnie, ale nie uruchomiona Niezależne od IIS – proces aspnet_state.exe Konfiguracja IP i portu stateConnectionString=„tcpip= :42424” SQL Server Dane sesyjne przechowywane w SQL Server Wymaga stworzenia baz danych InstallSqlState.sql / InstallPersistantSqlState.sql Największa niezawodność – możliwość klastrowania Przechowywane w przestrzeni adresowej ASP.NET worker process Bardzo szybkie – brak overheadu serializacyjnego Dane są tracone gdy proces jest recycled 1.1

27 Wybranie właściwej metody
Zależy od wymagań dotyczących wydajności, skalowalności i niezawodności aplikacji In-Proc najszybszy Ograniczony przez pamięć Utrata danych przy restarcie procesu ASP.NET State Service Średnia wydajność. Niska, gdy serwer zdalny Single point of failure Przetrwa restart aplikacji – lokalnie Przetrwa restart maszyny - zdalnie SQL Server Szybki Niezawodny – możliwość klastrowania Bardzo skalowalne

28 Sesje Cookieless Mogą być wykorzystane do zapewnienia stanu sesji gdy klient nie akceptuje cookies. <sessionState Cookieless=„true„ /> Ograniczenia URL wykorzystywane w aplikacji nie mogą być absolutne Niektóre przeglądarki akceptują ograniczoną długość URL

29 ViewState Ukryte pole w formularzu Dostępny jedynie dla stron
<input type=”hidden” name=”__VIEWSTATE”/> Dostępny jedynie dla stron <form runat=„server”/> Istotne zagadnienia Wydajność - przydatny do przechowywania typów podstawowych – inne typy wymagają serializacji Bezpieczeństwo - nie należy w nim umieszczać istotnych informacji – można wykorzystać EnableViewStateMac = „true”

30 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracking Debugging

31 Caching Caching jest krytycznym czynnikiem tworzenia wydajnych i skalowalnych aplikacji webowych W ASP.NET istnieją trzy rodzaje cachowania: Output caching Fragment caching Cache API (Data caching)

32 Output caching Strony są wykonywane tylko raz, a wyniki są cachowane
dla .aspx, .ascx, .asmx Włączany OutputCache Duration="600“ Location="Any“ VaryByParm=“none” %> bądź Response.Cache.SetExpires(DateTime.Now.AddSeconds(600)); Response.Cache.SetCacheability(HttpCacheability.Public); Możliwość cachowania wielu wersji strony VaryByParm=“employeeID” VaryByHeader=”Accept-Language” VaryByCustom=”browser”

33 Fragment caching …cachowanie całej strony nie zawsze jest optymalne
Część stron jest cachowana, reszta jest rekompilowana za każdym żądaniem dla .ascx OutputCache Duration=„10“ VaryByControl=„s1;s2” VaryByParm=“*” %> user controls mogą być zagnieżdżone Dostęp do kontrolek z pamięci zakończy się błędem! Kontrolki cachowane nie są dodawane do control tree

34 Data caching (Cache API)
Cache znacznie skuteczniejszy niż przetrzymywanie w HttpApplicationState Właściwości obiektu Cache: Zależności – zwalnianie pamięci na podstawie warunków Automatyczne usuwanie nieużywanych obiektów Callback – informowanie aplikacji o usunięciu obiektu z pamięci

35 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracking Debugging

36 ASP.NET Tracing <trace enabled=„true” pageOutput=„true|false” /> Umożliwia uzyskiwać informacje o wykonywaniu stron aplikacji webowych Śledzi tworzenie kontrolek serwerowych Wyświetla wielkość kontrolek Prezentuje wartości zmiennych środowiskowych

37 DEMO ASP.NET Tracing

38 Agenda Ewolucja technologii tworzenia aplikacji webowych
Charakterystyka ASP.NET Konfiguracja aplikacji Przechowywanie stanu Cachowanie w ASP.NET Tracking Debugging

39 DEMO ASP.NET Debugging

40 Podsumowanie ASP.NET Stworzone aby ułatwić pracę programiście
Możliwości Visual Studio, bogaty zestaw kontrolek serwerowych Umożliwia pisanie kodu w dowolnym języku .NET Obszerna biblioteka klas Rozbudowane opcje tracingu i debuggowania Wydajność, skalowalność Kod skompilowany oznacza szybkość Cache APIs w celu wzrostu wydajności Możliwość wykorzystania Web Farm

41 Podsumowanie ASP.NET Łatwy deployment
Kopiowanie aplikacji Dynamiczne akutalizacje bez potrzeby restartu serwera Zapominamy o rejestrach! – konfiguracja w xml Zaawansowane opcje bezpieczeństwa Warianty autentykacji Autoryzacja Rozbudowany dostęp do źródeł danych Elastyczne zarządzanie stanem

42


Pobierz ppt "Wprowadzenie do ASP.NET"

Podobne prezentacje


Reklamy Google