Technologia ASP.NET.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Jarosław Kurek WZIM SGGW
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Programowanie obiektowe
Skrypty, procedury przechowywane i wyzwalane
Serwer WWW na AT89C52 Adrian Witlib Maciej Przeor ID06SK1
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
SQL Server Native XML Web Services
27/09/ Języki programowania 1 Piotr Górczyński Obsługa błędów.
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
.NET - możliwości Jarosław Balcer & Jan Góralski.
Tworzenie ASP.NET Web Form
Arkadiusz Twardoń ZTiPSK
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
WITAM NA SZKOLENIU Porady na dziś i jutro.
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
Obsługa plików csv Do odczytu z pliku csv można użyć następującego kodu: $fp = fopen ("strony.csv","r"); $num = 0; while ($data = fgetcsv ($fp, 1000, ";"))
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
Systemy operacyjne.
Usługa Windows Server Update Services (WSUS)
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Systemy zarządzania treścią CMS
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
C# Windows Forms Zastosowania Informatyki Wykład 3
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Konfiguracja kont w programie Adobe Dreamweaver
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
A ctive S erver P ages Technologia dostępu do danych.
Linux - polecenia.
Programowanie w Delphi na przykładzie aplikacji Archiwum
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
INTERNETOWE USŁUGI INFORMACYJNE
Przygotował: Paweł Ziaja
Programowanie obiektowe – zastosowanie języka Java SE
Narzędzia administracyjne
Robimy własne notatki - Notatnik
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Internetowe surfowanie
Linux w sieci Konfigurowanie interfejsu sieciowego.
18/11/ Języki programowania 1 Piotr Górczyński Kontrolki.
ASP BAZY DANYCH. 2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika.
ADO .NET.
Etapy uruchamiania systemu Pliki konfiguracyjne
Serwery Aplikacji Tworzenie bezpiecznych aplikacji.
Projektowanie stron WWW
Autor: Marta Pelczar. PHP:  Najprostszą drogą, by uruchomić serwer internetowy na własnym domowym komputerze jest skorzystanie z programu XAMPP.
Podstawy programowania (4)
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Jak wykonać prosty licznik odwiedzin strony internetowej?
.NET i Bazy Danych Projekt: Wadim Grasza.
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Instalacja certyfikatu Dostęp do Rachunku przez Internet BS Pawłowice dla przeglądarki Mozilla Firefox.
ASP.NET Kontrolki źródła danych i prezentacji danych w ASP.Net
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Aplikacje Baz Danych ASP.NET
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Elementy przeglądarki internetowej Pasek menu Pasek kart Pasek adresowy Pasek wyszukiwania Okno z zawartością strony internetowej Zakładki (ulubione)
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Aplikacje i usługi internetowe
Zapis prezentacji:

Technologia ASP.NET

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

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

Tworzenie nowej prostej aplikacji

Zmieniamy nazwę strony startowej

Kontrolka i jej obsługa

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

Uruchamianie w w trybie debuggowania

Źródło strony dla klienta

Składniki aplikacji – strona startowa aspx

Strona startowa - źródło

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

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.

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

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

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

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

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

Uruchamiamy aplikację z adresu localhost

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)

Właściwości aplikacji

Konfigurowanie IIS

Konfigurowanie IIS - cd

Aplikacja jest uruchamiana z katalogu wirtualnego

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

Łą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ć

Tworzenie nowego użytkownika w SQL MS Express

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

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

Nadawanie uprawnień przy pomocy EnterpriseManager

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

GridView w aplikacji webowej

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"); }

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

Tryb debugg

Aplikacja w sieci lokalnej

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

Wykorzystanie obiektu Response do odczytu danych z bazy

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"); }

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++; }

Wynik

Strona wysłana do klienta

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.

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

Projekt i źródło strony startowej

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

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

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

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

Nie znaleziono ciasteczka

Klient wprowadził dane

Klient został zapisany do bazy

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"

Kod w tle dla przycisku „Logowanie” - cd Polecenie.Parameters.Add(New SqlParameter("@Nazwa", SqlDbType.Char)) Polecenie.Parameters("@Nazwa").Direction = ParameterDirection.Input Polecenie.Parameters.Add(New SqlParameter("@Adres", SqlDbType.Char)) Polecenie.Parameters("@Adres").Direction = ParameterDirection.Input Polecenie.Parameters.Add(New SqlParameter("@Identity", SqlDbType.Char)) Polecenie.Parameters("@Identity").Direction = ParameterDirection.ReturnValue Polecenie.Parameters("@Nazwa").Value = Nazwa.Text Polecenie.Parameters("@Adres").Value = Adres.Text

Kod w tle dla przycisku „Logowanie” - cd Dim rezultat, wynik As Integer wynik = Polecenie.ExecuteNonQuery rezultat = Polecenie.Parameters("@Identity").Value 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

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

Wynik aktualizacji

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

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

Wynik

Zastąpienie polecenia Response kontrolkami serwera

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

Brak ciasteczka

Potwierdzenie zapisania klienta