Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Balássy György Microsoft regionális igazgató MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási.

Hasonló előadás


Az előadások a következő témára: "Balássy György Microsoft regionális igazgató MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási."— Előadás másolata:

1 Balássy György Microsoft regionális igazgató MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig

2 2 Főbb ASP.NET 2.0 újdonságok Vezérlők PageFramework Szolgáltatások és API-k Adatkezelő vezérlők Login vezérlők Webkijelzők stb. Mester oldalak Témák és bőrök Jobb kliens szkriptelés Fordítás és lokalizáció Tagság Szerepkörök Profilok Konfiguráció Webhely térképek Monitorozás stb.

3 3 Blog példa alkalmazás

4 4 Délutáni gyakorlatokon: Használt autó példa alkalmazás  Lehet még jelentkezni!

5 5 Dinamikus webalkalmazások Webkiszolgáló (IIS) Webkiszolgáló (IIS) ASP.NET Böngésző HTTP kérés HTTP válasz Saját webalkalmazás

6 6 Tartalom  Kódolás  Fordítás  Közzététel  Futtatás és üzemeltetés

7 7 Mappa alapú fejlesztés  Mappa határozza meg a web projektet  Nincs projekt fájl  Projekt beállítások.sln-ben  %UserProfile% \ My Documents \ Visual Studio 2005 \ Projects \ \.sln  Célszerű előbb létrehozni a solutiont  Minden fájl a projekthez tartozik  Minden source control alá tehető  Dokumentáció, grafikai forrás fájlok  Temp fájlok  rejtett mappák  Megosztás, FTP vagy FPSE

8 8 Fejlesztői szerver  Korábbi „Cassini” alapjain  Alapértelmezett, ha nincs IIS  Use default web server opció a projekt tulajdonságlapján  Csak lokális kéréseket szolgál ki  Véletlen portszámon fut  Hibakeresést támogatja  A fejlesztő nevében fut  Manuálisan is indítható C:\>Webdev.webserver.exe /port:8080 /path:"R:\Works\Blog" /vpath:"/Blog" „Start Web Server Here” shell kiterjesztés: Robert McLaws Nem mindenben működik úgy, ahogy az IIS !!!

9 9 Speciális könyvtárak Lefordított szerelvények (.dll)bin Webszolgáltatásokra mutató hivatkozások, sémák (.wsdl,.xsd,.disco) App_WebReferences Témák és bőrök (.skin,.css)App_Themes* Oldal- és vezérlőelem szintű erőforrások (.resx,.resources) App_LocalResources Alkalmazás szintű erőforrások (.resx,.resources)App_GlobalResources Adatfájlok, adatbázisok (.mdf,.mdb,.xml)App_Data Kód: segédosztályok, üzleti objektumok (.cs,.vb,.xsd) App_Code Böngésző definíciós állományok (.browser)App_Browsers TartalmaMappa neve * Elérhető kliens oldalról

10 10 Mappa alapú fejlesztés

11 11 Tartalom  Kódolás  Fordítás  Közzététel  Futtatás és üzemeltetés

12 12 v.1.x problémák  Két fordítási környezet  Fordítási időben nyelvi fordítók  Futási időben ASP.NET v.1.x  Törékeny: ID egyezés az ASPX és a CS fájl között  Lassú: az egész alkalmazást kellett fordítani  Sok hiba csak futási időben derült ki  ASPX kód  Adatkötés  Konfiguráció  Célok:  Több ellenőrzés fordítási időben  100% kompatibilitás

13 13 public partial class Admins_Log : System.Web.UI.Page {... } Dinamikus fordítás System.Web.UI.Page -.Admins_Log Generált részleges osztály:.Profile.ApplicationInstance.Master Vezérlők deklarációja Generált részleges osztály:.Profile.ApplicationInstance.Master Vezérlők deklarációja -.Admins_Log Megírt részleges osztály: Page_Load() Eseménykezelők Saját mezők, tulajdonságok, metódusok Megírt részleges osztály: Page_Load() Eseménykezelők Saját mezők, tulajdonságok, metódusok ASP.admins_log_aspx Mögöttes kódot tartalmazó fájl Az osztály neve, amiből származtatni kell

14 14 Kód generálás fejlesztéskor  Deklaratív leírás  fordítható kód  Runtime  Részleges osztályok  Speciális mappák  Adatkötések  ExpressionBuilders  $AppSettings, $ConnectionStrings, $Resources  BuildProviders  VS05 is elvégzi  IntelliSense " />

15 15 BuildProviders  Minden projekt típusban:  XSD  DataSet, WSDL  proxy  ASP.NET-ben kiterjeszthető  Tetszőleges fájl formátumhoz  Tetszőleges fordítás előtti feldolgozás és kód generálás (CodeDOM)  Web.config kapcsolja össze  szekció  Globális web.configban 11 előre definiált  pl. IgnoreFileBuildProvider

16 16 QueryStringBuildProvider

17 17 Fordítás  Alapértelmezés szerint minden dinamikusan fordul  „On demand” fordítási folyamat  Gazdagabb „edit and continue”  %FrameworkDir% \ %FrameworkVersion% \ Temporary ASP.NET Files  A szerelvények nevét a fordító határozza meg  Alapértelmezés: könyvtáranként  Build Page  Probléma: hivatkozások classname attribútum direktíva

18 18 Előfordítás (precompilation)  Helyben (in place)  Cél: teljesítmény (első kérés)  Mint a dinamikus fordítás esetén  Csak, ami fordítható (HTML, grafika, statikus stb. marad)  Éles környezetre  Cél: telepíthetőség, forráskód védelme  Nem frissíthető (for deployment; binary-only deployment model)  ASPX .compiled  Nincs várakozás az első kérésnél  Frissíthető (for deployment and update; updatable deployment model)  ASPX, témák, erőforrások maradnak (módosulhatnak)  Első kéréskor ezek dinamikusan fordulnak

19 19 Fájlkezelés előfordításkor  Típustól és könyvtártól függően  Ami kód: fordul  \Bin könyvtárba szerelvény és.compiled  ASPX: fordul vagy megmarad  Ha fordul  Helyőrző marad, kódot nem tartalmaz  Céljai:  IIS: Check that file exist  Jogosultság szabályozás (IIS, NTFS)  Ha megmarad: módosul  Statikus tartalom: másolódik MSDN: File handling during ASP.NET precompilation File handling during ASP.NET precompilationFile handling during ASP.NET precompilation

20 20 aspnet_compiler.exe  Webprojektek fordítására  Háttérben csc.exe-t és vbc.exe-t hívja  Hívható batch fájlból  A keretrendszer része  %FrameworkDir% \ %FrameworkVersion% C:\aspnet_compiler.exe /v /Blog

21 21 Szerelvény információk  Verzió szám és erős név  App_Code \ AssemblyInfo.cs  Jó, ha minden egy szerelvénybe fordul  Korlátozottan:  aspnet_compiler.exe  Publish web site  Rugalmas megoldás: aspnet_merge.exe

22 22 Web Application Projects  Letölthető ingyenes VS 2005 kiegészítés Letölthető  Visszaállás a VS 2003 web projekt modellre:  Projekt fájl  Egyetlen szerelvényre fordul  Látszik a.designer.cs fájl  De:  VS 2005 designer támogatás  Fejlesztői webszerver  Fordítás MSBuild segítségével  Egyszerűbb migráció Preview

23 23 Tartalom  Kódolás  Fordítás  Közzététel  Futtatás és üzemeltetés

24 24 Copy web site

25 25 Publish web site  Grafikus felület az aspnet_compiler.exe-hez  Távoli gépre FPSE -u -fixednames -delaysign -keyfile -keycontainer -aptca

26 26 Web deployment projects  Cél: több kontroll Preview

27 27 Web deployment projects  Letölthető ingyenes kiegészítés Letölthető  Újabb projektként látszik a solutionben  %ProgramFiles% \ MSBuild \ Microsoft \ WebDeployment \ v8.0  aspnet_merge.exe  Szerelvények összeállítása,  elnevezése,  verzionálása,  erős névvel ellátása  web.config módosítása  IIS VDIR létrehozása, jogok beállítása  Kiterjeszthető funkcionalitás  Fordítás előtti és utáni események  taskok

28 28 Web deployment project

29 29 Tartalom  Kódolás  Fordítás  Közzététel  Futtatás és üzemeltetés

30 30 ASP.NET runtime IIS Kérések feldolgozása HttpHandler aspnet_isapi.dll HttpModule HttpApplication KérésVálasz Verb és Path alapján aspnet_regiis -i

31 31 Mitől lesz alkalmazás  Alkalmazás = VDIR + metaadatok  Meghatározza az alkalmazás határait  \bin könyvtár a szerelvényeknek  Alkalmazás szintű web.config  Alkalmazás szintű események (global.asax)  Speciális ASP.NET 2.0 mappák  Alkalmazás készlethez rendelhető  CLR alkalmazás tartomány jön létre

32 32 Modulok  a globális web.configban  OutputCache  Session  WindowsAuthentication  FormsAuthentication  PassportAuthentication  RoleManager  UrlAuthorization  FileAuthorization  AnonymousIdentification  Profile  ErrorHandlerModule  Számít a sorrendjük

33 33 Handlerek axd HttpNotFoundHandler * DefaultHttpHandler WebResource.axd AssemblyResourceLoader rem, soap HttpRemotingHandlerFactory asmx WebServiceHandlerFactory ashx SimpleHandlerFactory aspx PageHandlerFactory Trace.axd TraceHandler dll.config, exe.config StaticFileHandler vjsproj, java, jsl, asax, ascx, config, cs, csproj, vb, vbproj, webinfo, asp, licx, resx, resources, master, skin, browser, sitemap, mdb, ldb, ad, dd, ldd, sd, cd, adprototype, lddprototype, sdm, sdmDocument, mdf, ldf, exclude, refresh HttpForbiddenHandler KiterjesztésHandler app_offline.htm: amíg létezik, ide irányítódnak át a kérések

34 34 Alkalmazás életciklusa  Global.asax  HttpApplication ősosztályból származik  this.ApplicationInstance  Egyszerre csak egy kérést szolgál ki  Automatikus esemény feliratkozás  Application_eseménynév  Csak egyszer  _Start, _End  Minden kéréshez  _BeginRequest, _AuthenticateRequest stb.  Minden sessionhöz  Session_Start, Session_End

35 35 Alkalmazás újraindulása  Ha módosul a tartalma  bin mappának  App_GlobalResources, App_LocalResources mappának  App_Code mappának  App_WebReferences mappának  Global.asax fájlnak  web.config fájlnak  Profile definíció  Az aktuális kéréseket még a futó appdomainből szolgálja ki

36 36 Oldalak életciklusa  Új Page és kontroll példány minden kéréshez  Állapotmegőrzés AutoEventWireup  Page_eseménynév .Context: HttpContext  Request  Response  Session  Application  Server

37 37 Kód generálás futtatáskor  A vezérlők XHTML kódot generálnak  XHTML Transitional 1.0  Validálás  Accessibility irányelvek  WCAG 1.0, Section 508  Validálás (amit lehet)  Automatikus böngésző felismerés  App_Browsers tartalma alapján (.browser)  Uplevel: ECMAScript 1.2, HTML 4.0, MSDOM, CSS  Downlevel: HTML 3.2

38 38 Kinek a nevében fut  IIS  Windows XP: Gépnév\ASPNET  Megváltoztatható machine.config-ban    Windows Server 2003: NT Authority\Network Service  Megváltoztatható AppPoolonként az IIS6-ban  Fejlesztői szerver  Fejlesztői fiók nevében  SQL Server  A szolgáltatáshoz megadott fiók nevében  SQL Server Express: user instance mode  Saját példány a futtató fiók nevében  A felhasználó SysAdmin jogokkal kapcsolódik hozzá

39 39 Konfiguráció  Hierarchia, öröklés és felülírás (tiltható)  Alapértékek a.default fájlokban  Grafikus eszközök  IIS MMC snap-in  Web Site Administration Tool  Csak lokálisan  %FrameworkDir% \ %FrameworkVersion% \ ASP.NETWebAdminFiles  Parancssori eszköz: aspnet_regiis.exe  !!! Újraindul az alkalmazás !!!  machine.config root web.config alkalmazás gyökér web.config alkalmazás alkönyvtár web.config … machine.config root web.config alkalmazás gyökér web.config alkalmazás alkönyvtár web.config …

40 40 ASP.NET Configuration API  Írható – olvasható a hierarchia bármely szintje  Távoli gépre is: aspnet_regiis -config+  System.Web.Configuration névtér  WebConfigurationManager osztály .OpenWebConfiguration(…) .GetSection(…) .AppSettings[…] .ConnectionStrings[…]   ConnectionStringSettings osztály  Szekciók típusosan kezelhetőek   AnonymousIdentification  Kiterjeszthető: saját szekció, felolvasás és validáció attribútumokkal C:\aspnet_regiis –config+

41 41 type

42 42 Monitorozás  Health monitoring  System.Web.Management névtér  Események (web event): mi történt  WebBaseEvent ősosztály  kiterjeszthető  Csoportokba szervezve  Providerek (listeners): hova kell naplózni  Eseménynapló, WMI, SQL, SMTP, Trace  Buffer módok: kötegelt naplózás  Profilok: milyen esetben kell naplózni  Szabályok  Mit-hova-mikor kell naplózni  Web.config  szekció

43 43 Monitorozás

44 44 Összefoglalás  Hatékony fejlesztés  A keretrendszer sok feladatot levesz a fejlesztő válláról  Sok 2.0 újdonságról nem volt még szó  A VS segít a rutinfeladatokban

45 45 További információk  Fejlesztői Portál:   Webfejlesztés témaközpont:   ASP.NET honlap   MSDN ASP.NET Developer Center   Visual Studio 2005 MSDN Documentation   Visual Web Developer 2005 Express Edition   Visual Web Developer 2005 Express Edition MSDN documentation   ASP.NET 2.0 Quickstart tutorial   Scott Guthrie blogja  Minden forrásnak figyelni kell a dátumát!

46 46 Napirend Laborgyakorlatok13:40-17:00 Ebédszünet12:50-13:40 ASP.NET 2.0 alkalmazások arculata és testreszabása (Kereskényi Róbert) Adatelérés ASP.NET 2.0 platformon (Dávid Zoltán) 11:20-12:50 Szünet11:00-11:20 Biztonság és jogosultság kezelés ASP.NET 2.0 környezetben (Gincsai Gábor) Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig (Balássy György) 9:30-11:00 PéntekCsütörtök

47 47 Kérdések és válaszok Értékelőlapok!

48 48 © 2006 Microsoft Corporation. Minden jog fenntartva. Az előadás csupán tájékoztató jellegű, a Microsoft Magyarország a benne szereplő esetleges hibákért vagy tévedésekért semmilyen felelősséget nem vállal.


Letölteni ppt "Balássy György Microsoft regionális igazgató MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási."

Hasonló előadás


Google Hirdetések