SlideShare a Scribd company logo
1 of 34
TNPW2 2010/2011 06 – Webové aplikace v ASP.NET Mgr. Lukáš Vacek lukas.vacek@uhk.cz
Agenda6 ,[object Object]
Co je ASP.NET, .NET Framework, Mono?
Výhody a nevýhody ASP.NET
Jak funguje ASP.NET?
PostBack, ViewState, MVC, Razor
Vyrovnávací paměť, kešování (cache), validátory
Konfigurace, nasazení v provozu
HTTP moduly, HTTP handlery
Vývojové nástroje
Internet, doporučená literatura2
Co je ASP? Vztah ASP a ASP.NET Technologie ASP (Active Server Pages) je „předchůdcem“ ASP.NET! ASP vytvořila fy Microsoft, rozšířila se ve druhé polovině 90. let  V této době byla ASP spolu s PHP pravděpodobně nejpoužívanější vývojovou platformou pro webové aplikace Programovací jazyky pro ASP: VB Script, JScript... ASP se nepřekládá (jedná se o interpretované prostředí)! Na ASP stránkách je možné využívat COM komponenty –> málo rozšířené Největší problémy ASP: Špatná udržovatelnost kódu, míchání jednotlivých aplikačních vrstev, neexistence kvalitního vývojového prostředí. Pozor: ASP není ASP.NET! 3
Agenda6 ,[object Object]
Co je ASP.NET, .NET Framework, Mono?
Výhody a nevýhody ASP.NET
Jak funguje ASP.NET?
PostBack, ViewState, MVC, Razor
Vyrovnávací paměť, kešování (cache), validátory
Konfigurace, nasazení v provozu
HTTP moduly, HTTP handlery
Vývojové nástroje
Internet, doporučená literatura4
Historie ASP.NET 1997 – po vydání IIS 4.0 Mark Anders a Scott Guthrie navrhli nový model pro webové aplikace, který odděluje strukturu od obsahu  ScottGuthrie v Javě  naprogramoval prototyp XSP Následující beta verze byla přejmenovaná na ASP+, využívala CLR a nový jazyk C# 2000 – představení veřejnosti jako ASP+, později ASP.NET(.NET jako společný brand) 2002 – ASP.NET 1.0 jako součást nového .NET Frameworku 1.0 2003 – ASP.NET 1.1, MS Visual Studio 2003 Doladění základních vlastností 2005 – ASP.NET 2.0, MS Visual Studio 2005 Master pages, webparts, themes, skins, navigace, membership, XHTML 2007 – ASP.NET 3.5 se service packy se používá dodnes, MS Visual Studio 2008 C# 3.0, VB9, později AJAX, MVC, LINQ, Entity Framework apod. 2010 – ASP.NET 4.0, MS Visual Studio 2010 http://en.wikipedia.org/wiki/ASP.NET http://2008.webexpo.cz/media/files/lectures/webexpo2008-bernard-roubicek-aspnet-35.ppsx 5
ASP.NET a .NET Framework, základní pojmy .NET Framework fy Microsoft je nadstavba nad operačním systémem ASP.NET je součást tohoto frameworku, v rámci které jsou vytvářeny, nasazovány a provozovány webové aplikace a webové služby Aktuální verze je ASP.NET 4.0 Základní funkcionalitu celého .NET Frameworku a spouštění řízeného (managed) kódu zajišťuje běhové prostředí CLR (Common Language Runtime – obdoba Java/JVM) .NET Framework umožňuje používat různé jazyky, např. C#, C++, VB.NET, Python a další, které splňují předpoklady definované v CLS (Common Language Specification) Výstupem kompilátoru je řízený kód – tzv. MSIL (Microsoft Intermediate Language)  MSIL je před svým spuštěním přeložen do strojového kódu za pomocí kompilátoru označovaného jako JITter (Just-in-time) .NET Framework obsahuje i jiné části než jen ASP.NET, např. Windows Communication Foundation (WCF) nebo .NET Compact Framework pro mobilní zařízení 6
Architektura .NET, základní schéma 7 C# VB.NET …
Projekt Mono Projekt MONO je multiplatformní implementace .NET Frameworku, založená na standardech ECMA Aktuálně projekt zaštiťuje fy Novell Mono implementuje běhové prostředí CLR a knihovnu základních tříd BCL Umožňuje spouštění aplikací vytvořených pod .NET Frameworkem, kompatibilita není úplně 100% Mono podporuje např. Linux, Mac OSX, Solaris, Windows atd. http://www.mono-project.com/Main_Page Přednáška Tomáš Petříček, .NET a projekt MONO – Běží .NET i na jiných operačních systémech? http://www.avc-cvut.cz/avc.php?id=2788&language=cs_CZ 8
Agenda6 ,[object Object]
Co je ASP.NET, .NET Framework, Mono?
Výhody a nevýhody ASP.NET
Jak funguje ASP.NET?
PostBack, ViewState, MVC, Razor
Vyrovnávací paměť, kešování (cache), validátory
Konfigurace, nasazení v provozu
HTTP moduly, HTTP handlery

More Related Content

What's hot

Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Pavel Růžička
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíRené Stein
 
Vývoj wp 7 aplikací pro pokročilé
Vývoj wp 7 aplikací pro pokročiléVývoj wp 7 aplikací pro pokročilé
Vývoj wp 7 aplikací pro pokročiléRené Stein
 
ASP.NET - Make Web not War
ASP.NET - Make Web not WarASP.NET - Make Web not War
ASP.NET - Make Web not WarAleš Roubíček
 

What's hot (9)

Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikací
 
TNPW2-2014-06
TNPW2-2014-06TNPW2-2014-06
TNPW2-2014-06
 
TechEd 2014 - MVC5
TechEd 2014 - MVC5TechEd 2014 - MVC5
TechEd 2014 - MVC5
 
Vývoj wp 7 aplikací pro pokročilé
Vývoj wp 7 aplikací pro pokročiléVývoj wp 7 aplikací pro pokročilé
Vývoj wp 7 aplikací pro pokročilé
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
ASP.NET - Make Web not War
ASP.NET - Make Web not WarASP.NET - Make Web not War
ASP.NET - Make Web not War
 

Similar to TNPW2-2011-06

Similar to TNPW2-2011-06 (20)

ASP.NET 3.5 / futures
ASP.NET 3.5 / futuresASP.NET 3.5 / futures
ASP.NET 3.5 / futures
 
R85 Designer Tcl
R85 Designer TclR85 Designer Tcl
R85 Designer Tcl
 
R85 Designer
R85 DesignerR85 Designer
R85 Designer
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
TNPW2-2011-04
TNPW2-2011-04TNPW2-2011-04
TNPW2-2011-04
 
2010 Web Technologie 1
2010 Web Technologie 12010 Web Technologie 1
2010 Web Technologie 1
 
2009 CA Wily Introscope
2009  CA  Wily  Introscope2009  CA  Wily  Introscope
2009 CA Wily Introscope
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaci
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 
TNPW2-2016-02
TNPW2-2016-02TNPW2-2016-02
TNPW2-2016-02
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
TNPW2-2014-02
TNPW2-2014-02TNPW2-2014-02
TNPW2-2014-02
 
TNPW2-2012-02
TNPW2-2012-02TNPW2-2012-02
TNPW2-2012-02
 
Lotus Notes 7
Lotus Notes 7Lotus Notes 7
Lotus Notes 7
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
České Lotus Notes 7 jsou zde!
České Lotus Notes 7 jsou zde!České Lotus Notes 7 jsou zde!
České Lotus Notes 7 jsou zde!
 
5was 100524062135-phpapp02
5was 100524062135-phpapp025was 100524062135-phpapp02
5was 100524062135-phpapp02
 
Web Application Scanning (WAS)
Web Application Scanning (WAS)Web Application Scanning (WAS)
Web Application Scanning (WAS)
 
TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 

More from Lukáš Vacek (18)

TNPW2-2016-07
TNPW2-2016-07TNPW2-2016-07
TNPW2-2016-07
 
TNPW2-2016-06
TNPW2-2016-06TNPW2-2016-06
TNPW2-2016-06
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
TNPW2-2016-04
TNPW2-2016-04TNPW2-2016-04
TNPW2-2016-04
 
TNPW2-2016-01
TNPW2-2016-01TNPW2-2016-01
TNPW2-2016-01
 
TNPW2-2014-01
TNPW2-2014-01TNPW2-2014-01
TNPW2-2014-01
 
TNPW2-2014-04
TNPW2-2014-04TNPW2-2014-04
TNPW2-2014-04
 
TNPW2-2013-10
TNPW2-2013-10TNPW2-2013-10
TNPW2-2013-10
 
TNPW2-2013-09
TNPW2-2013-09TNPW2-2013-09
TNPW2-2013-09
 
TNPW2-2013-08
TNPW2-2013-08TNPW2-2013-08
TNPW2-2013-08
 
TNPW2-2013-06
TNPW2-2013-06TNPW2-2013-06
TNPW2-2013-06
 
TNPW2-2013-02
TNPW2-2013-02TNPW2-2013-02
TNPW2-2013-02
 
TNPW2-2013-01
TNPW2-2013-01TNPW2-2013-01
TNPW2-2013-01
 
TNPW2-2012-10
TNPW2-2012-10TNPW2-2012-10
TNPW2-2012-10
 
TNPW2-2012-09
TNPW2-2012-09TNPW2-2012-09
TNPW2-2012-09
 
TNPW2-2012-08
TNPW2-2012-08TNPW2-2012-08
TNPW2-2012-08
 
TNPW2-2012-06
TNPW2-2012-06TNPW2-2012-06
TNPW2-2012-06
 
TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 

TNPW2-2011-06

  • 1. TNPW2 2010/2011 06 – Webové aplikace v ASP.NET Mgr. Lukáš Vacek lukas.vacek@uhk.cz
  • 2.
  • 3. Co je ASP.NET, .NET Framework, Mono?
  • 12. Co je ASP? Vztah ASP a ASP.NET Technologie ASP (Active Server Pages) je „předchůdcem“ ASP.NET! ASP vytvořila fy Microsoft, rozšířila se ve druhé polovině 90. let V této době byla ASP spolu s PHP pravděpodobně nejpoužívanější vývojovou platformou pro webové aplikace Programovací jazyky pro ASP: VB Script, JScript... ASP se nepřekládá (jedná se o interpretované prostředí)! Na ASP stránkách je možné využívat COM komponenty –> málo rozšířené Největší problémy ASP: Špatná udržovatelnost kódu, míchání jednotlivých aplikačních vrstev, neexistence kvalitního vývojového prostředí. Pozor: ASP není ASP.NET! 3
  • 13.
  • 14. Co je ASP.NET, .NET Framework, Mono?
  • 18. Vyrovnávací paměť, kešování (cache), validátory
  • 20. HTTP moduly, HTTP handlery
  • 23. Historie ASP.NET 1997 – po vydání IIS 4.0 Mark Anders a Scott Guthrie navrhli nový model pro webové aplikace, který odděluje strukturu od obsahu ScottGuthrie v Javě  naprogramoval prototyp XSP Následující beta verze byla přejmenovaná na ASP+, využívala CLR a nový jazyk C# 2000 – představení veřejnosti jako ASP+, později ASP.NET(.NET jako společný brand) 2002 – ASP.NET 1.0 jako součást nového .NET Frameworku 1.0 2003 – ASP.NET 1.1, MS Visual Studio 2003 Doladění základních vlastností 2005 – ASP.NET 2.0, MS Visual Studio 2005 Master pages, webparts, themes, skins, navigace, membership, XHTML 2007 – ASP.NET 3.5 se service packy se používá dodnes, MS Visual Studio 2008 C# 3.0, VB9, později AJAX, MVC, LINQ, Entity Framework apod. 2010 – ASP.NET 4.0, MS Visual Studio 2010 http://en.wikipedia.org/wiki/ASP.NET http://2008.webexpo.cz/media/files/lectures/webexpo2008-bernard-roubicek-aspnet-35.ppsx 5
  • 24. ASP.NET a .NET Framework, základní pojmy .NET Framework fy Microsoft je nadstavba nad operačním systémem ASP.NET je součást tohoto frameworku, v rámci které jsou vytvářeny, nasazovány a provozovány webové aplikace a webové služby Aktuální verze je ASP.NET 4.0 Základní funkcionalitu celého .NET Frameworku a spouštění řízeného (managed) kódu zajišťuje běhové prostředí CLR (Common Language Runtime – obdoba Java/JVM) .NET Framework umožňuje používat různé jazyky, např. C#, C++, VB.NET, Python a další, které splňují předpoklady definované v CLS (Common Language Specification) Výstupem kompilátoru je řízený kód – tzv. MSIL (Microsoft Intermediate Language) MSIL je před svým spuštěním přeložen do strojového kódu za pomocí kompilátoru označovaného jako JITter (Just-in-time) .NET Framework obsahuje i jiné části než jen ASP.NET, např. Windows Communication Foundation (WCF) nebo .NET Compact Framework pro mobilní zařízení 6
  • 25. Architektura .NET, základní schéma 7 C# VB.NET …
  • 26. Projekt Mono Projekt MONO je multiplatformní implementace .NET Frameworku, založená na standardech ECMA Aktuálně projekt zaštiťuje fy Novell Mono implementuje běhové prostředí CLR a knihovnu základních tříd BCL Umožňuje spouštění aplikací vytvořených pod .NET Frameworkem, kompatibilita není úplně 100% Mono podporuje např. Linux, Mac OSX, Solaris, Windows atd. http://www.mono-project.com/Main_Page Přednáška Tomáš Petříček, .NET a projekt MONO – Běží .NET i na jiných operačních systémech? http://www.avc-cvut.cz/avc.php?id=2788&language=cs_CZ 8
  • 27.
  • 28. Co je ASP.NET, .NET Framework, Mono?
  • 32. Vyrovnávací paměť, kešování (cache), validátory
  • 34. HTTP moduly, HTTP handlery
  • 37. Výhody ASP.NET Striktně objektový přístup Řízený (managed) kód, výjimka je možná v C++ Oddělení kódu od designu, větší přehlednost Kvalitní vývojové prostředí (základní verze zdarma), podpora mnoha jazyků. Snadná implementace (např. webové služby), konfigurace, testování, deployment Řešení řady obvyklých problémů je přímo součástí ASP.NET (autentizace, validátory, navigace, šablony), k dispozici řada hotových komponent Jasné oddělení jednotlivých vrstev aplikace a jejich opakovaná použitelnost (web, desktop, kapesní počítače) Snadná přístupnost k datům (db, XML, web services, REST, JSON) Umí řešit (obcházet) bez-stavovost HTTP/(X)HTML Provádění nativního kódu (vyšší výkon!) Kvalitní dokumentace http://en.wikipedia.org/wiki/ASP.NET 10
  • 38. Nevýhody ASP.NET Pochází od Microsoftu –> předsudky a odmítání ASP.NET se stále dynamicky rozvíjí (MVC, Entity framework, LINQ…) V použitelné podobě je ASP.NET zatím dostupná pouze pro OS Windows (obchodní politika, nedodělané Mono atd.) Má silnou vazbu na IIS V ČR je aktuálně málo freehostingů s podporou ASP.NET (je to dražší a technologicky náročnější než LAMP = linux + apache + mysql + php) Řada používaných vizuálních komponent generuje nevalidní/nehezký (X)HTML kód –> postupné zlepšování Web Forms, možnost přímé kontroly u MVC Při nevhodném použití Viewstate roste množství přenášených dat U Web Forms nemá programátor nad nižšími úrovněmi aplikace dobrou kontrolu ASP.NET je mocný nástroj, ale jeho zvládnutí si vyžádá čas (delší křivka učení) 11
  • 39.
  • 40. Co je ASP.NET, .NET Framework, Mono?
  • 44. Vyrovnávací paměť, kešování (cache), validátory
  • 46. HTTP moduly, HTTP handlery
  • 49. Jak funguje ASP.NET? ASP.NET stránky používají příponu *.aspx. (existuje celá řada dalších přípon pro další využití – *.ascx, *.asmx, *.ashx, *.config, *.sitemap apod.) Provádění ASP.NET stránky v modelu Web Forms (vzor MVP)není lineární (to je rozdíl proti interpretovaným technologiím)! V každé fázi zpracování je vyvolána a následně zpracována nějaká událost (Init, Load, UnLoad, Render apod.) Kód „pověšený“ na tyto události může být Vyvolán při zpracování nebo uživatelem, součástí *.aspx, v separátním souboru, v DLL knihovně Kromě běžného (X)HTML kódu obsahují stránky tzv. serverové ovládací prvky (Server Control, Web Forms), které Zapouzdřují vizuální elementy a zajišťují tak interakci s uživatelem, generují události (změna hodnoty, stisknutí tlačítka, … ), dále zpracovávané programovým kódem http://zdrojak.root.cz/clanky/prezentacni-vzory-zrodiny-mvc/ 13
  • 50. Oddělení vzhledu a kódu stránky (Web Forms) 14 1 soubor 2 soubory <tagy> kód <tagy> kód Form1.aspx Form1.aspx Form1.aspx.cs Form1.aspx.vb Vazba mezi šablonou a programovým kódem… <%@Page CodeBehind=... pro VS.NET <%@Page Src=... pro samotný framework
  • 51.
  • 52. Co je ASP.NET, .NET Framework, Mono?
  • 56. Vyrovnávací paměť, kešování (cache), validátory
  • 58. HTTP moduly, HTTP handlery
  • 61. Zpracování událostí (Postback) v ASP.NET web forms 16 Prohlížeč Server Zpráva o události Událost Zpracování zprávy Zavolání procedury pro obsluhu události Obsluha události Aktualizovaná stránka S událostmi je třeba šetřit, hlavně pokud se nejedná o intranetovou aplikaci… Zvyšují zátěž serveru, Zpomalují klienta.
  • 62. Viewstate ViewState je kolekce reprezentující stav stránky a všech obsažených ovládacích prvků Spolu s technologii PostBack řeší ViewState bez-stavovost HTTP/(X)HTML Díky Viewstate si prvky mohou zachovávat svůj stav napříč jednotlivými requesty Do kolekce lze programově přidávat proměnné (tady opatrně!) Stav prvků se neukládá na serveru, ale je přesouván na klienta a zpět coby skryté pole formuláře Možnost volby pro ViewState: ON – úspora výpočetního času, ale více kB putujících mezi klientem a serverem. OFF – nastavení hodnot, výpočty, načítání dat z databáze apod. probíhá při každém PostBacku Pokud není třeba, zakažte použití ViewState (pro jednotlivé ovládací prvky, celou stránku nebo aplikaci), snížíte objem přenášených dat mezi klientem a serverem http://www.aspnet.cz/Articles/235-viewstate-k-cemu-je-a-jak-ho-spravne-pouzivat.aspx 17
  • 63. ASP.NET MVC Z jiných technologií (např. Java Spring MVC) osvědčený Model – View – Controller mění obvyklý způsob zpracování stránky ve Web Forms řízený událostmi Pomocí routování URL se rozhoduje, který controller bude konkrétní akci zpracovávat Striktněji odděluje UI, aplikační logiku a data, zlepšuje kontrolu nad odesílaným (X)HTML kódem, má možnost přizpůsobení výstupu různým klientským platformám Lepší testovatelnost, možnost využívání mock objektů Nadstavba ASP.NET 3.5, musí se doinstalovat! Od verze 4.0 je MVC podporován přímo Někdy trochu pracné, programátor si musí zvyknout, určité riziko míchání kódu Vznikl na základě poptávky vývojářů! Je podporován fy Microsoft, bude koexistovat vedle obvyklého Web Forms (MVP) http://www.asp.net/mvc/ http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework http://www.augi.cz/programovani/aspnet-mvc-a-routing/ 18
  • 64. ASP.NET Razor Razor je tzv. viewengine, schopný pracovat v kombinaci s MVC nebo Web Forms Hodí se pro jednodušší aplikace (quick&win vývoj, prototypy), lze jej použít samostatně Rychlá křivka učení Razor + WebMatrix (vývojové prostředí) + SQL Server CompactEdition 4.0 (databáze) –> start pro úplné začátečníky (aspoň podle představ Microsoftu) Výhodou je možnost vývoje aplikací pro různé platformy (web, desktop, mobily, xbox…) Je to trochu divočina, jako základní PHP  Bere už v úvahu validaci uživatelských vstupů a parametrizované dotazy do databáze http://zdrojak.root.cz/clanky/microsofti-lizatka-pro-zacatecniky-sance-pro-boj-s-php-nebo-krok-zpet/ http://zdrojak.root.cz/clanky/podrizne-razor-php/ 19
  • 65.
  • 66. Co je ASP.NET, .NET Framework, Mono?
  • 70. Vyrovnávací paměť, kešování (cache), validátory
  • 72. HTTP moduly, HTTP handlery
  • 75. Vyrovnávací paměť (buffer), Cache Vyrovnávací paměť (buffer) ASP.NET stránky mají implicitně zapnuté využití vyrovnávací paměti (bufferu) při sestavování výstupu. Buffer lze vypnout pomocí příkazu response.buffer = false Cache Použití kešování (cache) je vhodné při opakovaných požadavcích na konkrétní stránku Cache je možné nastavit pro celou stránku (podle parametrů, jazyka, prohlížeče apod.), část stránky (šetří čas nutný pro získání dat), rozšiřitelný objekt Cache (Cache API) – možnost uložení libovolného objektu. Flexibilní politiky pro expiraci, možnost invalidacecache při změně souboru apod. 21
  • 76. Validátory, implicitní validace Ověření syntaxe zadaných dat na straně klienta (rychlost, pohodlí), na straně serveru (bezpečnost). Různé možnosti zobrazení chyby Validátory je možné dle potřeby sdružovat do skupin Různé typy validace RequiredFieldValidator, CompareValidator, RangeValidator, RegularExpressionValidator, CustomValidator. V ASP.NET je možné automaticky zkontrolovat vstupní data od uživatele (od verze 1.1 implicitně povoleno) před jejich zpracováním 22 <%@ Page validateRequest="true" language="c#" ...
  • 77.
  • 78. Co je ASP.NET, .NET Framework, Mono?
  • 82. Vyrovnávací paměť, kešování (cache), validátory
  • 84. HTTP moduly, HTTP handlery
  • 87. Konfigurace ASP.NET aplikací Je uložena ve formátu XML do souboru web.config v adresáři v *.aspxstránkami Obsahuje všechna nastavení ASP.NET (autentizace, kompilace, trasování, ladění, chybové stránky, moduly, handlery, …) Jakékoliv uživatelské nastavení je možné definovat v sekci <appSettings>, která je rozšiřitelná – je možné přidávat vlastní sekce dat Je možné využít více web.config souborů v jedné aplikaci, podle adresářové struktury (1 adresář = 1 web.config) V souboru machine.config (v adresáři s instalovaným frameworkem) jsou nastaveny parametry pro celý web server 24
  • 88. Nasazení ASP.NET aplikace do provozu Stačí zkopírovat na určené místo Odpadá nutnost registrace komponent, Odpadá nutnost restartu služeb/serveru. Podpora pro všechny součásti Web stránky, web služby, Zkompilované komponenty (DLL), Konfigurační soubory. Aktualizace aplikací je možná za provozu Nakopírujte nové DLL na místo původního, Aplikace použijí nové DLL počínaje příštím klientským požadavkem. 25
  • 89.
  • 90. Co je ASP.NET, .NET Framework, Mono?
  • 94. Vyrovnávací paměť, kešování (cache), validátory
  • 96. HTTP moduly, HTTP handlery
  • 99. HTTP moduly, HTTP handlery Kromě klasických *.aspx stránek je možné psát webové aplikace na nižší úrovni (HTTP moduly a HTTP handlery) a s jejich pomocí vyřizovat některé požadavky na serveru Některé HTTP moduly, např. OutputCache, Načítání a ukládání Session stavu, Autentizace, Autorizace. HTTP moduly je možné skládat na sebe, mohou rozšířit nebo přepsat prakticky všechny činnosti, které při běhu .NET aplikace nastávají HTTP handler je vždy na konci, provádí vlastní zpracování (např. *.aspx souborů, načítání obrázků z databáze apod.) požadavku 27
  • 100. Zpracování požadavku v ASP.NET 28 Web server (IIS, …) ASP.NET runtime Global.asax Aplikace HTTP modul HTTP modul HTTP handler(Web form) HTTP handler HTTP handler(Web services)
  • 101.
  • 102. Co je ASP.NET, .NET Framework, Mono?
  • 106. Vyrovnávací paměť, kešování (cache), validátory
  • 108. HTTP moduly, HTTP handlery
  • 111. Vývojové nástroje pro ASP.NET Visual Studio .NET 2010 ASP.NET 4.0 s řadou vylepšení (např. AJAX, LINQ, Entity Frm, MVC) Komplexní nástroj v různých verzích, určený pro vývoj, testování a řízení celých projektů Express edice k dispozici zdarma SQL Server Express – prakticky použitelný pro menší webové aplikace Visual Web Developer Express si můžete stáhnout na adrese…http://www.microsoft.com/express/Web/ Microsoft WebMatrix Jednoduchý nástroj pro tvorbu webů Optimalizovaný pro Razor http://www.asp.net/webmatrix Ostatníhttp://monodevelop.com/ (MonoDevelop)http://www.icsharpcode.net/OpenSource/SD/ (SharpDevelop) 30
  • 112.
  • 113. Co je ASP.NET, .NET Framework, Mono?
  • 117. Vyrovnávací paměť, kešování (cache), validátory
  • 119. HTTP moduly, HTTP handlery
  • 122. Odkazy na Internetu http://www.asp.net/Default.aspx (Oficiální web pro ASP.NET) http://msdn.microsoft.com/en-us/library/dd566231.aspx (ASP.NET web development) http://www.codeproject.com/ (příklady, zdrojové kódy) http://msdn2.microsoft.com/en-us/default.aspx (MSDN) http://en.wikipedia.org/wiki/ASP.NET http://quickstarts.asp.net/previews/ (MVC a spol.) http://blogs.msdn.com/vyvojari/archive/2009/10/04/zrychlete-v-voj-web-aplikac-s-toolkity.aspx 32
  • 123. Doporučená literatura Písek, Slavoj – ASP.NET začínáme programovat, Grada 2003 MacDonald, Matthew; Szpuszta, Mario – ASP.NET 3.5 a C# 2008, ZonerPress 2008 Watson, Ben – C# 4.0 – řešení praktických programátorských úloh, ZonerPress 2010 Esposito, Dino – Programming Microsoft ASP.NET MVC, Microsoft Press 2010 33
  • 124.
  • 125. Co je ASP.NET, .NET Framework, Mono?
  • 129. Vyrovnávací paměť, kešování (cache), validátory
  • 131. HTTP moduly, HTTP handlery