24
Wstęp do ASP.NET Arkadiusz Popa, WMiI, UŁ Arkadiusz Popa Serwery Aplikacji

Wstęp do ASP.NET

  • Upload
    khan

  • View
    45

  • Download
    2

Embed Size (px)

DESCRIPTION

Wstęp do ASP.NET. Arkadiusz Popa Serwery Aplikacji. Co na wykładzie …. Omówienie a rchitektur y platformy .NET CLR … wspólne środowisko uruchomieniowe Różnica … statyczne a dynamiczne www ASP.NET … omówinie ogólne ASP.NET … wymagania Developerskie Klienckie - PowerPoint PPT Presentation

Citation preview

Page 1: Wstęp do ASP.NET

Wstęp do ASP.NET

Arkadiusz Popa, WMiI, UŁ

Arkadiusz PopaSerwery Aplikacji

Page 2: Wstęp do ASP.NET

Co na wykładzie …o Omówienie architektury platformy .NETo CLR … wspólne środowisko uruchomienioweo Różnica … statyczne a dynamiczne wwwo ASP.NET … omówinie ogólneo ASP.NET … wymagania

o Developerskie

o Klienckie

o ASP.NET … omówienie działaniao Gotowe komponenty … Web formso Obsługa zdarzeń … Event Handlingo Jak odciążyć serwer … Validatorso Użycie

Arkadiusz Popa, WMiI, UŁ

Page 3: Wstęp do ASP.NET

Omówienie architektura platformy .NET

o Czym jest platforma .NET?

o Oprogramowaniem łączącym informacje, ludzi, systemy, urządzenia (def. Microsoft)

o Platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (CLR) oraz biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. (def. Wikipedia)

o Zintegrowane środowisko do tworzenia, kompilowania, testowania, zarządzania i utrzymania aplikacji spełniających wymagania klienta

Arkadiusz Popa, WMiI, UŁ

Page 4: Wstęp do ASP.NET

Arkadiusz Popa, WMiI, UŁ

o cd … Czym jest platforma .NET?

o Środowisko wspierające różne języki programowania: C++, C#, VB i inne, z zestawem bibliotek do wykorzystania na różnego typu platformach systemowych,

o Środowisko posiadające rozbudowane nowe API (Application Programming Interface)

Omówienie architektura platformy .NET

Page 5: Wstęp do ASP.NET

Arkadiusz Popa, WMiI, UŁ

Omówienie architektura platformy .NETo Różnice w API

o Stare APIo aplikacje kompilowane do kodu maszynowego, komunikujące się z systemem poprzez zestaw funkcji (WIN32)

o problem z przenośnością między różnymi procesorami, albo nie wykorzystanie ich możliwości

o problem z przenośnością między różnymi wersjami systemów Windows

o Nowe APIo kod pośredni – CIL

o kompilacja metod klasy w momencie pierwszego wywołania. Zmiana w budowie bibliotek klas.

Page 6: Wstęp do ASP.NET

Architektura.NET Frameworko Cechy platformy .NET

(czyli co zrobiono dla developerów)

o Programowanie obiektowe – pełne wsparcie

o Garbage Collector - zarządzanie czasem życia obiektów

o C++, C#, J#, VB, … -możliwość programowania w wielu językach … nawet w ramach jednej aplikacji!!

o .NET Class Library - zbiór dostarczanych klas podstawowych

Arkadiusz Popa, WMiI, UŁ

Page 7: Wstęp do ASP.NET

Architektura platformy .NET

Arkadiusz Popa, WMiI, UŁ

WIN 32

MessageQueueing IIS WMI COM +

CLR

Class Library

ADO .NET + XML

Web Forms Web Sercices Windows Forms

C# C++ VB C++ …

.NET Framework - Budowa

Page 8: Wstęp do ASP.NET

CLRCLR

o Wspólne środowisko uruchomieniowe (Common Language Runtime, w skrócie CLR) to podstawa całego systemu .NET Framework. Wszystkie języki środowiska .NET (na przykład C# czy Visual Basic .NET), a także wszystkie biblioteki klas obecne w .NET Framework (ASP.NET, ADO.NET i inne) oparte są na CLR. Ponieważ nowe, tworzone przez Microsoft oprogramowanie, także oparte jest na .NET Framework, każdy, kto chce korzystać ze środowiska Microsoft, prędzej czy później będzie musiał zetknąć się z CLR.

(def: wikipedia)

o Środowisko CLR kompiluje i wykonuje zapisany w standardowym języku pośrednim Microsoft (CIL) kod aplikacji zwany kodem zarządzanym (ang. managed code), zapewniając wszystkie podstawowe funkcje konieczne do działania aplikacji. Podstawowym elementem CLR jest standardowy zestaw typów danych, wykorzystywanych przez wszystkie języki oparte na CLR, a także standardowy format metadanych, służących do opisu oprogramowania wykorzystującego te typy danych. CLR zapewnia także mechanizmy umożliwiające pakowanie kodu zarządzanego w jednostki zwane podzespołami.

Arkadiusz Popa, WMiI, UŁ

Page 9: Wstęp do ASP.NET

Architektura platformy .NET

Arkadiusz Popa, WMiI, UŁ

CIL

Zbudowanie(Build)

PLIK

CLR

Pierwsze uruchomienie

Developer

Użytkownik

Kompilacja do CIL

Kompilacja,uruchomienie

Page 10: Wstęp do ASP.NET

Strony statyczne a dynamiczneo Strony statyczne

o HTML o Treści statyczneo Ograniczenia funkcjonalnościo Problemy techniczne, np.: aktualizacje

<html><head> <title>Statyczna strona html</title></head><body> <h1>Dzień dobry i dobrywieczór</h1> Obecnie, jak i w przyszłości jesteś zawsze 1 odwiedzającym</body>

</html>Arkadiusz Popa, WMiI, UŁ

Jak zmieniaćtreść

dynamicznie?

Jak zmieniaćilość?

Page 11: Wstęp do ASP.NET

Strony dynamiczneo Strony dynamiczneStrony dynamiczne

o FFunkcjonalnośćunkcjonalność ograniczona aktualnymi ograniczona aktualnymi technologiamitechnologiami

o TTreścireści zmieniane dynamicznie zmieniane dynamicznieo Asynchronizacja, np.AjaxAsynchronizacja, np.Ajaxo HTML jest tylko efektem końcowymHTML jest tylko efektem końcowym

Arkadiusz Popa, WMiI, UŁ

<html><head> <title>Dynamiczna strona html</title></head><body> <h1>Dzień dobry, mamy dokładnie 7:00,

dziś jest 10.10.2008. Miłego dnia</h1> Jesteś 12345 odwiedzającym, a dziś jesteś 3.</body>

</html>

Treści zmieniają się z kazdym odswieżeniem

strony

Wartości generują się

automatycznie

Page 12: Wstęp do ASP.NET

ASP.NET co to za twór ?

o Nowoczesna technologia tworzenia dynamicznych stron internetowycho Graficzne GUIo Wbudowane i dostosowane do www obiekty

o Technologia wykorzystujące platformę MS .NET Framework

o Wykorzystuje wspólne środowisko uruchomieniowe CLR

o Następca ASP - Active Server Pages

Arkadiusz Popa, WMiI, UŁ

Page 13: Wstęp do ASP.NET

Arkadiusz Popa, WMiI, UŁ

o Dwie funkcjonalności:o Web Forms –strony wwwo Web Services – rozproszone usługi

internetowe

o Generuje kod niezależny od przeglądarki

o Pozwala na tworzenie stron w wielu językach programowania

o Posiada wbudowane mechanizmy do debugowanie i profileingu

ASP.NET co to za twór ?

Page 14: Wstęp do ASP.NET

ASP.NET … mechanizmy zaawansowaneo Programowanie zdarzeniowe

o Akcjeo Validacje

o Dobre środowisko Developerskie… Visual Studio 2005/2008 Webo Podpowiadani składnio sprawdzenia syntaktycznej

poprawności o debugowanie

Arkadiusz Popa, WMiI, UŁ

Page 15: Wstęp do ASP.NET

Arkadiusz Popa, WMiI, UŁ

o Bogaty zestaw kontroleko HTMLo Web Forms (klasy z wbudowanymi

metodami)o Wbudowana obsługa mechanizmów

uwierzytelniania - bezpieczeństwoo Mechanizmy optymalizacyjne

o Buforowanie o Wsparcie dla programowania urządzeń

mobilnych

ASP.NET … mechanizmy zaawansowane

Page 16: Wstęp do ASP.NET

ASP.NET co potrzeba?

o Darmowy serwer ASP na którym można testować strony: kod dostępu do pobrania z C216

o Developing:o Maszyna z obsługą systemu

Windows XP, Vista, Server 2003, Server 2008

o MS Visual Studio 2005/2008 Web Express Edition – darmowy do pobrania ze stron Microsoft

o MSD Library – zbiór bibliotek Arkadiusz Popa, WMiI, UŁ

Page 17: Wstęp do ASP.NET

ASP.NET mix z HTML

Arkadiusz Popa, WMiI, UŁ

<%@ Page Language="C#" %><%@ Import Namespace="System.IO" %><html>

<head> <title>Tytuł strony – dynamiczna strone</title> </head><body>

<h2> Witam na mojej stronie</h2>Jesteś <%//Odczytanie wartości odwiedzin z plikuFileStream s = new FileStream("c:\\Licznik\\Odwiedzin.dat",

FileMode.OpenOrCreate);int n;try {

BinaryReader r = new BinaryReader(s);n = r.ReadInt32();

} catch { n = 0; } n++; //Podbicie wartości licznikas.Seek(0, SeekOrigin.Begin);BinaryWriter w = new BinaryWriter(s);//zapisanie nowej wartości do pliku i zamknięcie plikuw.Write(n); s.Close();//Wyświetlenie ilości użytkowników na stronieResponse.Write(n); // %> odwiedzającym. Witam.

</body></html>

Page 18: Wstęp do ASP.NET

ASP.NET Jak to działa?

Counter.aspxCounter.aspx HTML HTML dla dla

przeglądarkiprzeglądarki

Arkadiusz Popa, WMiI, UŁ

<%@ Page Language="C#" %><%@ Import Namespace="System.IO" %><html> <head> <title> Przykład strony …</title> </head>

<body> <h2> Witam na mojej

stronie</h2> Jesteś <%

... Response.Write(n); %>

</body></html>

<html> <head> <title> Przykład strony … </title> </head> <body> <h1>Witamy na mojej

stronie</h1> Jesteś 10 …

</body></html>

Page 19: Wstęp do ASP.NET

Web formso Kontrolki:

o Serweroweo HTML

o umożliwiają tworzenie programowalnych stron internetowych, służących jako interfejs użytkownika aplikacji internetowych

o Wszystkie elementy GUI są obiektamio W ramach obiektów jest dostęp do metod i

ich właściwościo ilosc.Texto ilosc.Color …

Arkadiusz Popa, WMiI, UŁ

Page 20: Wstęp do ASP.NET

Web forms - przykłady

o Labelo TextBoxo Button o RadioButtono CheckBoxo DropDownList

o CheckBox Listo Bullet List

abc

Arkadiusz Popa, WMiI, UŁ

Page 21: Wstęp do ASP.NET

Web forms - standard

o Calendar

o HiddenField

Arkadiusz Popa, WMiI, UŁ

Page 22: Wstęp do ASP.NET

Web forms – dwa pliki źródłowe w jeden HTML

o *.aspx – (tryb design i source) Warstwa prezentacji

o *.aspx.cs – (tryb source) Warstwa logikio Te dwa pliki składają się na plik wynikowy,

który przesyłany jest do przeglądarki

Arkadiusz Popa, WMiI, UŁ

Imię: Nazwisko:

Class MojPlik {…

}

MojPlik.aspx

MojPlik.aspx.cs

Imię: Nazwisko:

MojPlik

Page 23: Wstęp do ASP.NET

Walidatory - validators

o Po co używać:Po co używać:o Walidacja danych wejściowych przez Walidacja danych wejściowych przez

przeglądarkę klientaprzeglądarkę klientao Odciążenie działania serweraOdciążenie działania serwera

o Rodzaje:Rodzaje:o RequiredFieldValidatorRequiredFieldValidator – pole wymagane, – pole wymagane,

nie pustenie pusteo CompareValidator CompareValidator – porównanie– porównanieo RangeValidator RangeValidator – sprawdzenie przedziału– sprawdzenie przedziałuo RegularExpressionValidatorRegularExpressionValidator – –

dostosowanie do wyrażenia regularnegodostosowanie do wyrażenia regularnegoo … … inneinne

Arkadiusz Popa, WMiI, UŁ

Page 24: Wstęp do ASP.NET

Walidatory - metody

o ControlToValidate – Powiązanie kontrolki z kontrolką walidacji

o ErrorMessage – Treść komunikatu o błędzie

o IsValid – czy walidacia udana (true, false)

o Validate – sprawdzenie poprawności danych i powiązanie z IsValid

o Display – wyświetlenie komunikatu o błędzie

Arkadiusz Popa, WMiI, UŁ