Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technologia ASP.NET.

Podobne prezentacje


Prezentacja na temat: "Technologia ASP.NET."— Zapis prezentacji:

1 Technologia ASP.NET

2 Zalety ASP.NET (ASPX) Kodowanie po stronie serwera
Skrypty działające po stronie klienta Kompilacja kodu zapewniająca bezpieczeństwo i skalowalność

3 Kontrolki serwera Pełnią podobne zadania jak kontrolki HTML
Wykonywane są jednak po stronie serwera co eliminuje problemy niezgodności z przeglądarkami internetowymi

4 Tworzenie nowej prostej aplikacji

5 Zmieniamy nazwę strony startowej

6 Kontrolka i jej obsługa

7 Struktura aplikacji Pliki z rozszerzeniem aspx są projektami stron zawierającymi odwołania do plików z kodem wykonywanym w tle (Code Behind) Aplikacja generuje stronę wysyłaną do klienta w kodzie html

8 Uruchamianie w w trybie debuggowania

9 Źródło strony dla klienta

10 Składniki aplikacji – strona startowa aspx

11 Strona startowa - źródło

12 Kod aplikacji wykonywany w tle – ***.aspx.cs

13 Pozostałe składniki Skompilowany kod aplikacji ***.dll
DLL (z ang. Dynamic Link Library lub Dynamic Linked Library - biblioteka łączona dynamicznie) - w środowisku Windows biblioteka współdzielona (z ang. shared library), która przechowuje implementacje różnych funkcji (podprogramów) programu i/lub zasoby programu. Biblioteka DLL sama nie może wywoływać swoich funkcji (wykorzystywać zasobów w niej zawartych), może to zrobić jedynie program EXE.

14 Pozostałe składniki Plik konfiguracyjny Web.config
Inne pliki projektu nie wymagane do uruchomienia aplikacji

15 Wygenerowanie aplikacji wymaga uruchomienia serwera IIS
Serwis Internet Information Services – IIS jest składnikiem systemu Windows ale musi być specjalnie zainstalowany Jeżeli nie zmieniono ustawień IIS jego macierzystym katalogiem jest C:\Inetpub\wwwroot Strona startowa aplikacji musi być umieszczona w katalogu macierzystym lub w podkatalogu z nazwą aplikacji

16 Zasoby niezbędne do uruchomienia
Strona startowa ***.aspx Plik ***.dll zawierający wszystkie pliki niezbędne do uruchomienia aplikacji Składniki te mogą być umieszczone w rzeczywistym katalogu w ścieżce c:\Inetpub\wwwroot lub w katalogu wirtualnym

17 Uruchamianie aplikacji z rzeczywistego katalogu
W katalogu c:\Inetpub\wwwroot tworzymy katalog DzienDobry i umieszczamy w nim plik Start.aspx

18 Budujemy aplikację (Build) i publikujemy ją w katalogu macierzystym

19 Uruchamiamy aplikację z adresu localhost

20 Tworzenie katalogu wirtualnego
Przed utworzeniem pliku dll ustawiamy serwer we właściwościach aplikacji na serwerze IIS Następnie tworzymy katalog wirtualny (Create Virtual Directory) Konfigurujemy IIS (Panel sterowania -> Narzędzia administracyjne -> Internetowe usługi informacyjne)

21 Właściwości aplikacji

22 Konfigurowanie IIS

23 Konfigurowanie IIS - cd

24 Aplikacja jest uruchamiana z katalogu wirtualnego

25 Składniki niezbędne do uruchomienia aplikacji z dowolnego serwera
Na komputerze musi funkcjonować odpowiednio skonfigurowany serwer IIS W przypadku katalogu rzeczywistego - w katalogu macierzystym IIS w podkatalogu bin musi być zapisany plik dll i w miejscu wywoływania z localhost plik startowy aspx W przypadku katalogu wirtualnego katalog aplikacji w miejscu skoordynowanym z adresem tego katalogu środowisko .NETFramework

26 Łączenie aplikacji internetowych z bazą danych
W trybie debuggowania aplikacje webowe łączą się z bazą danych podobnie jak aplikacje windowsowe Aplikacja webowa uruchamiana z sieci jest widziana przez serwer baz danych jako użytkownik ASPNET Jeżeli w serwerze taki użytkownik nie jest widoczny to należy go uaktywnić

27 Tworzenie nowego użytkownika w SQL MS Express

28

29

30

31 Uprawnienia ASPNET Utworzony użytkownik ASPNET nie ma żadnych uprawnień Nie można uprawnień nadać programowo, gdyż użytkownik sam sobie uprawnień nie może nadać Uprawnienia może nadać właściciel bazy danych

32 Próba połączenia z bazą danych bez odpowiednich uprawnień

33 Nadawanie uprawnień przy pomocy EnterpriseManager

34 Nadawanie uprawnień w SQL
GRANT SELECT ON [dbo].[Studenci] TO [ASPNET]

35 GridView w aplikacji webowej

36 Kod wykonywany w tle using System.Data; using System.Data.SqlClient;
namespace Baza { public partial class _Default : System.Web.UI.Page DataSet Studia = new DataSet(); DataTable Studenci = new DataTable(); protected void Page_Load(object sender, EventArgs e) SqlDataAdapter Adapter = new SqlDataAdapter ("Select * From Studenci", "Data Source=STACJONARNY\\SQLEXPRESS;Integrated Security=True;Initial Catalog=Test"); Studia.Tables.Add(Studenci); Studia.Clear(); Adapter.Fill(Studia, "Studenci"); }

37 Kod wykonywany w tle - cd
protected void Button1_Click(object sender, EventArgs e) { GridView1.DataSource = Studia.Tables["Studenci"]; GridView1.DataBind(); }

38 Tryb debugg

39 Aplikacja w sieci lokalnej

40 Przesyłanie danych pomiędzy klientem i serwerem
Do dynamicznego umieszczania na stronie klienta danych służy obiekt Response Metoda Write obiektu Response umieszcza łańcuch w dokumencie użytkownika

41 Wykorzystanie obiektu Response do odczytu danych z bazy

42 Kod wykonywany w tle DataSet Studia = new DataSet();
DataTable Studenci = new DataTable(); protected void Page_Load(object sender, EventArgs e) { SqlDataAdapter Adapter = new SqlDataAdapter ("Select * From Studenci", "Data Source=STACJONARNY\\SQLEXPRESS;Integrated Security=True;Initial Catalog=Test"); Studia.Tables.Add(Studenci); Studia.Clear(); Adapter.Fill(Studia, "Studenci"); }

43 Kod wykonywany w tle protected void Button2_Click(object sender, EventArgs e) { int i =1; foreach(DataRow _r in Studia.Tables["Studenci"].Rows) Response.Write(i.ToString() + ". "); Response.Write(_r["Imie"].ToString().Trim() + " "); Response.Write(_r["Nazwisko"].ToString().Trim()); Response.Write("<BR>"); i++; }

44 Wynik

45 Strona wysłana do klienta

46 Umieszczanie ciasteczek na dysku klienta
Ciasteczka (ang. cookies) to niewielkie informacje tekstowe, wysyłane przez serwer WWW i zapisywane po stronie użytkownika (zazwyczaj na twardym dysku). Domyślne parametry ciasteczek pozwalają na odczytanie informacji w nich zawartych jedynie serwerowi, który je utworzył. Ciasteczka są stosowane najczęściej w przypadku liczników, sond, sklepów internetowych czy stron wymagających logowania.

47 Wykorzystanie polecenia Response i Request
Klienci zapisani są w bazie Test w tabeli Klienci z autonumerowanym indeksem Każdemu nowemu klientowi wysyłamy ciasteczko z jego identyfikatorem W momencie żądania strony sprawdzamy czy klient miał wysłane ciasteczko

48 Projekt i źródło strony startowej

49

50 Kod w tle dla ładowania strony
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Ide As String LadujKlientow() Try Ide = Request.Cookies("Klient")("Identyfikator").ToString() Catch Nowy = False Response.Write("Jesteś nowym klientem!") Response.Write("<BR>") Response.Write("Podaj nazwę i adres.") End Try

51 Kod w tle dla ładowania strony - cd
If Nowy Then Nazwa.Text = ZnajdzKlienta(Ide)(0)("Nazwa") Label2.Visible = False Adres.Visible = False Button1.Visible = False End If End Sub

52 Otwieranie bazy i ładowanie tabeli
Private Sub LadujKlientow() SQLConn.ConnectionString = _ "Data Source=STACJONARNY\sqlexpress;Initial Catalog=Test;Integrated Security=True" SQLConn.Open() Dim Adapter As New SqlDataAdapter("Select * From Klienci", _ SQLConn) Sklep.Tables.Add(Klienci) Adapter.Fill(Sklep, "Klienci") End Sub

53 Nowy klient Jeżeli próba znalezienia ciasteczka zgłosi wyjątek pojawi się na stronie odpowiedni tekst i nie zostaną wyłączone etykiety, pola tekstowe i przycisk Użytkownik wprowadza dane i naciska przycisk

54 Nie znaleziono ciasteczka

55 Klient wprowadził dane

56 Klient został zapisany do bazy

57 Kod w tle dla przycisku „Logowanie”
Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DodajKlienta() End Sub Private Sub DodajKlienta() Dim Polecenie As New SqlCommand Polecenie.Connection = SQLConn Polecenie.CommandType = CommandType.StoredProcedure Polecenie.CommandText = "DopisanieKlientow"

58 Kod w tle dla przycisku „Logowanie” - cd
Polecenie.Parameters.Add(New SqlDbType.Char)) = ParameterDirection.Input Polecenie.Parameters.Add(New SqlDbType.Char)) = ParameterDirection.Input Polecenie.Parameters.Add(New SqlDbType.Char)) = ParameterDirection.ReturnValue = Nazwa.Text = Adres.Text

59 Kod w tle dla przycisku „Logowanie” - cd
Dim rezultat, wynik As Integer wynik = Polecenie.ExecuteNonQuery rezultat = Response.Cookies("Klient")("Identyfikator") = rezultat.ToString Response.Write("Zostałeś zapisany do bazy") Response.Write("<BR>") Response.Write("Otrzymałeś numer: " & rezultat.ToString) End Sub

60 Procedura składowana użyta do zapisania nowego rekordu
USE [Test] GO /****** Object: StoredProcedure [dbo].[DopisanieKlientow] Script Date: 01/14/ :14:30 ******/ SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE char(50) AS INSERT INTO Klienci (Nazwa, Adres) RETURN SCOPE_IDENTITY()

61 Wynik aktualizacji

62

63 Jeżeli ciasteczko zostało odnalezione
If Nowy Then Nazwa.Text = ZnajdzKlienta(Ide)(0)("Nazwa") Label2.Visible = False Adres.Visible = False Button1.Visible = False End If End Sub

64 Odszukiwanie klienta Private Function ZnajdzKlienta(ByVal ide As String) Dim Query As String Query = "IdKlienta = " & ide ZnajdzKlienta = Klienci.Select(Query) End Function

65 Wynik

66 Zastąpienie polecenia Response kontrolkami serwera

67 Zmiany w kodzie ' Response.Write("Jesteś nowym klientem!")
' Response.Write("<BR>") ' Response.Write("Podaj nazwę i adres.") Tekst1.Text = "Jesteś nowym klientem!" Tekst2.Text = "Podaj nazwę i adres." ' Response.Write("Zostałeś zapisany do bazy") ' Response.Write("<BR>") ' Response.Write("Otrzymałeś numer: " & rezultat.ToString) Tekst1.Text = "Zostałeś zapisany do bazy" Tekst2.Text = "Otrzymałeś numer: " & rezultat.ToString

68 Brak ciasteczka

69 Potwierdzenie zapisania klienta


Pobierz ppt "Technologia ASP.NET."

Podobne prezentacje


Reklamy Google