1 / 36

ASP.NET „röviden”

ASP.NET „röviden”. Krizsán Zoltán ver: 0.2. ASP.NET webalkalmazás főbb tulajdonságai. Gyors : A kérést gépi kódú szerelvény szolgálja ki. Gyorsan fejleszthető: A fejlesztő eszközzel kész komponensek. „ Destop alkalmazás szerű” alkalmazás modell. Kényelmes állapotmentési metodikák.

eyad
Download Presentation

ASP.NET „röviden”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET „röviden” Krizsán Zoltán ver: 0.2

  2. ASP.NET webalkalmazás főbb tulajdonságai • Gyors : A kérést gépi kódú szerelvény szolgálja ki. • Gyorsan fejleszthető: • A fejlesztő eszközzel kész komponensek. • „Destop alkalmazás szerű” alkalmazás modell. • Kényelmes állapotmentési metodikák. • Ingyenes fejlesztés, üzemeltetés (IIS express) • Windows azonosítás lehetősége

  3. ASP.NET Koncepció

  4. ViewState I • HTTP állapotmentes, ennek kiküszöbölésére született. • Állapot szerializáció. • Miután a szerver logika lefutott, de a HTML generálás előtt • a rendszer ellenőrzi az összes vezérlő össze tulajdonságát • név – érték párosba rendezi a változott értékeket • sorosítja a gyűjteményt BASE64 szövegbe • rejtett mezőként jelenik meg a kódban • lehet titkosítani • megfelelő vezérlők állapota bekerül a válaszba, majd a kliens visszaküldi a kérésben. • Szerveren nincs méretkorlát, de a tűzfalaknál, kliens oldalon lehet, ezért korlátozni lehet <pages maxPageStateFieldLength="1024" />

  5. ViewState II ASP.NET létrehozza az oldalt és a szerver vezérlőket a default értékekkel ( .aspxfile alapján). Ezután az ASP.NET aview state rejtett mező alapján „vissza állítja” az előző kérés állapotára a megfelelő vezérlőket. Végül azASP.NET HTTP paraméterek alapján átírja a megfelelő vezérlők megfelelő mezőit. Meghívódnak ez eseményt kezelő metódusok.

  6. postback • Átmenet a normál Windows Forms azonnali gazdag eseményvezérelt működése és a http sima „submit” között. • Minden szerver oldali vezérlőnek van AutoPostBack tulajdonsága, false alapértelmezetten. • Ha a formon van legalább 1 vezérlő AutopostBack=true-val, akkor • __doPostBack() JS függvényt (beállítja a rejtett mezők értékeit, elküldi az oldat), • __EVENTTARGET rejtett mezőt, • __EVENTARGUMENT rejtett mezőt • minden postback=true elemhez onclick vagy onchange=”__doPostBack(asdasd)” generál bele az ASP.NET.

  7. postback II <script type="text/javascript"> function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } ... } </script>

  8. Esemény vezérelt Programozás egyszerű, átlátható. A Windows Forms alkalmazás fejlesztéséhez hasonló metodika DE a szokásos HTTP protokoll használatával. A rendszer transzparensen kezeli, emulálja a modellt.

  9. Kiszolgálás teljes folyamata Első alkalommal az oldal objektum és a vezérlők létrejönnek a default értékkel, lefutnak az inicializáló kódok, majd HTML kód készül az oldalból, és az objektumok felszabadulnak. A felhasználó a kliens oldalon „tesz-vesz” ami postBack-et eredményez. ASP.NET az újabb kérés alapján létrehozza a vezérlőket. ASP.NET apostbackkisérő eseményét meghívja. Ebben a szerver oldali logika műveleteket hajt végre (pl.: adatb), majd módosítja a vezérlők állapotát. Az vezérlőkből HTML készül, és a memóriából kisöprődnek. A HTML válasz visszakerül a klienshez Ha másik postbackkeletkezik, akkor a 3-5 lépések újból lefutnak

  10. Kiszolgálás elemei I

  11. Kiszolgálás elemei II • Kezelők (handler) • Fogadja a felhasználói kérést. • Feldolgozza. • Választ küld (opcionális). • Modulok • elő vagy utófeldolgozást végezhet. • Elfoghatja a kérést. • Rendszer üzeneteket fogadhat. • Rendszer üzeneteket generálhat.

  12. Kezelők • Egy procesz, ami aspwebapp kérésre választ „ad” • Számos beépített (oldal kezelő aspx-re). • Kiterjeszthető: RSS feed, kép szerver, … • Osztály, ami implementálja egy megfelelő interfészt. • Lehet • szinkron (IHttpHandler) vagy • aszinkron (IHttpAsyncHandler). • regisztrálni kell a web.config-ban.

  13. ASP.NET feldolgozásának fő fázisai Page framework inicializálás Felhasználói inicializálás Adatok ellenőrzése Esemény kezelés Adatkötés (Binding) Takarítás

  14. Esemény kezelő (.aspx) • http kezelő • életciklust biztosít események formájában • Init • Load • Render • Fogadja a felhasználó paramétereit (postback) • Szerver vezérlőkkel hatékony.

  15. ASP.NET kód modell • Támogatott nyelvek: C#, Visual Basic, J#, Jscript, … • 2 modell a szerver kódnak (parciális osztályok) • Spagetti kód (egy fájl):<%@ Page Language="C#" %> <script runat="server"> voidButton1_Click(object sender, System.EventArgs e) { Label1.Text = ("Welcome, " + TextBox1.Text); } </script> • code-behind (Visual Studio):<%@ Page Language="C#"CodeFile="Default.aspx.cs" Inherits="Default" %>

  16. Szerelvény generálás • Szükség esetén fut le: • Forrás frissebb, mint a szerelvény, vagy • web.config,global.asax változott vagy • a bin mappában levő szerelvények változtak • 2 lépés • Osztály generálás: forráskód elemzés -> osztály létrehozás (ős: Page vagy leszármazott) • Szerelvény létrehozása, cache-be töltés.

  17. Implicit objektumok Forrás: http://msdn.microsoft.com/en-us/library/ms178473.aspx

  18. Implicit objektumok • Request • Response • Response.Redirect("newpage.aspx"); (302 code) • Response.RedirectPermanent() (301 code) • Application • Session • Server • Server.Transfer() • Server.HtmlEncode • User • Trace

  19. Adatok elérése • süti, form paraméterek, querystring, szerver változók • Request.Cookies • Request.Form • Request.QueryString • Request.ServerVariables • Mind a 4 egyben (előbbiek ömlesztve): • Request.Params • Request.Params.Get • Request.Params[] • Request[] • Request.Files • Request.Headers • Request.Browser

  20. Get, post Request.RequestType Request.IsPostBack if (Page.IsPostBack){  // HTTP Post}else{  // HTTP Get}

  21. http modulok • Natív és menedzselt kód is lehet. • Egy szerelvény, az ASP.NET kérés pipeline részeként szerepel. • Célja: kérés módosítás, statisztika, loggolás, saját headerfooter,… • Futásidejű eseményeket kezel • Alkalmazás szintű HttpApplication • Más modul eseményeit • Implementálja a IHttpModuleinterfészt (Init, Dispose). • Metódusai: • Init inicializálja a modult a HttpApplicationhívja meg. Saját eseménykezelőit regisztrálja. • Dispose felszabadítja a memóriát. • Esemény kezelők.

  22. Rendelkezésre álló vezérlők

  23. HTML vezérlők

  24. Html szerver oldali vezérlők • Két esemény támogatott: • ServerClick • HtmlAnchor, HtmlButton, HtmlInputButton, HtmlInputSubmit,HtmlInputImage • ServerChange • HtmlInputText, HtmlInputCheckBox, HtmlInputRadioButton,HtmlInputHidden, HtmlSelect, HtmlTextArea

  25. WEB vezérlők

  26. Konfiguráció • XML alapú. • Előre definiált séma. • Hierarchikus felépítés (öröklődés, felül definiálás) • fájlok • machine.config (Számítógép) • web.config (webalkalmazás, jegyzékek)

  27. Gyorsító tár (cache) • Alkalmazás cache (programozási eszköz) • kulcs – éték párok • érvényességi idő • gyakran használt elemeket tárolhatunk (függőség) • Kimenet cache • oldal egésze, vagy oldalnak egy része • variációkat képes figyelni • nem generálja az oldal kimenetét minden esetben

  28. Témák, szkinek Kinézet testre szabása. Szkin (szerver vezérlő tulajdonságai), css, képek, erőforrások. Mappa alapú.

  29. Közös kinézet = Mester oldal Mester oldal definiálja a közös kinézetet. Forrás: http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx

  30. Adatok ellenőrzése • adat tartalmú vezérlőkhöz • feltételek • hibaszövegek • Felhívás összesítő

  31. Állapot menedzsment • Webalkalmazás állapotát menteni kell a kérések között. • Szintek • alkalmazás - HttpApplicationState • session - HttpSessionState • oldal (page) - ViewState • kérés (request)

  32. Állapot menedzsment lehetőségek Kliens oldal Szerver oldal

  33. Adatbázis elérés, adat kötés • Nincs szükség kódra a gyakori műveletekre(összerendelhető, testre szabható vezérlők deklaratívan) • adatok megjelenítés • lapozás, rendezés • frissítés, beszúrás, törlés • szűrés • LINQ használata lehetséges, kényelmes

  34. Biztonság • Windows megszemélyesítés : Basic, digest, or Integrated Windows Authentication (NTLM or Kerberos). • Forms authentication • saját login oldal és menedzsment • Client Certificate authentication

  35. AJAX

  36. Tervezési minták Model – View - Controller Model – View - Presenter

More Related