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

Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Harmadik nap.

Hasonló előadás


Az előadások a következő témára: "Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Harmadik nap."— Előadás másolata:

1 Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Harmadik nap

2 Állapotkezelés Felhasználó kezelés Kliensoldali és szerveroldali validáció Globalization

3 Az őskorban az oldalak teljesen függetlenek voltak egymástól A mai igényeknek ez már legtöbbször nem megfelelő Az ASP.NET 3.5-ben az állapotkezelést két részre bonthatjuk: – Kliens oldali adattárolás – Server oldali adattárolás

4 Kliens oldali adattárolás: – Az információk tárolása az oldal ismételt lekérései során – Az adatokat a kliens gépen tároljuk Server oldali adattárolás: – Munka menethez kapcsolódó – Alkalmazáshoz kapcsolódó

5 A legtöbb Webes alkalmazásnak el kell tárolnia és vissza kell adnia a felhasználó állapot adatait Ez összefüggőséget és nagyon magas szintű funkcionalitást nyújt Mindezt nagyon egyszerűen a lehető legkevesebb kódolással

6 Azt szeretnénk elérni, hogy az ismételt oldallekérések között az a tartalom megmaradjon Az ASP.NET előtt is megoldható volt a feladat, csak sokat kellett hozzá kódolni Ennek a műveletnek az elvégzésére az ASP.NET egy egyszerű és beépített szolgáltatással rendelkezik Ez a szolgáltatás a ViewState

7 A böngésző által visszaküldött (POSTBACK) adatokat feldolgozza a szerver Az egyes vezérlők állapotából hasított (Hash) értéket képez Ezt az értéket hozzáadja a válasz HTML oldalhoz, amelynek egy rejtett mezőjében tárolja el (HIDDEN FIELD) A szerver az elkészített oldalt, a rejtett mezővel egyetemben, válaszként visszaküldi a böngészőnek, HTTP protokoll használatával

8 További adatok is tárolhatóak benne Ezek az adatok is a rejtett mezőben lesznek eltárolva A ViewState egy dictionary kollekció, amely név-érték párokat tárol Érték hozzáadása a ViewState kollekcióhoz ViewState[”Color”] = ”White”;

9 Bizonyos esetekben hátrányos lehet a ViewState használata A ViewState kikapcsolható egy-egy vezérlő szintjén, illetve az egész oldalra nézve is ViewState kikapcsolás az egész oldal esetén ViewState kikapcsolása egy vezérlő esetén

10 Kis méretű adatok tárolása a kliens oldalon Simán olvasható, ha nem titkosított Lehet perzisztált, vagy ideiglenes a memóriában Ezt használja azonosításhoz a WebServer Törölheti a felhasználó Korlátozások

11 Cookie-k definiálása Response.Cookies[”LastVisit”].Value = DateTime.Now.ToString(); Response.Cookies[”LastVisit”].Expires = DateTime.Now.AddDays(2); Cookie-k olvasása MyLabel.Text = Server.HtmlEncode(Request.Cookies[”LastVisit”].Value);

12 QueryString Adat a url-ben – ? – után – Minden további paraméter & választ el Hozzáférés: – Request.QueryString[”searchstring”]; – Request.QueryString[”userid”]; http://mysite.com/Results.aspx?searchstring=asp+progr amozás&userid=turoczy

13 A felhasználó teljes munkafolyamatán keresztül tárolhatjuk az adatokat Definiálhatunk az alkalmazás teljes életciklusában elérhető adatokat is Az adatokat a szerveren tároljuk A következőkben két ilyen szolgáltatást fogunk tárgyalni: – Application objektum – Session objektum

14 Az alkalmazás bármelyik oldaláról hozzáférhetünk, bármelyik felhasználótól érkezett is a kérés Az Application kollekció élettartama: – Akkor jön létre, amikor az első kérés érkezik az alkalmazáshoz – Akkor szűnik meg, amikor az alkalmazás megáll

15 Amikor a szervert megállítják Amikor a Web-szervert megállítják Amikor a Web site vagy Web Servicet leállítják Valamilyen alkalmazás hiba esetén Az alkalmazás új verziójának a telepítésekor Az alkalmazás bármikor megállhat és erre nincs semmilyen figyelmeztetés!

16 Az eseménykezelőket a Global.asax fájlban kell megírni Az Application eseményei Esemény neveMikor fut le? Application_StartAlkalmazás indításakor Application_EndAlkalmazás leállításakor Application_ErrorAlkalmazás hiba esetén

17 Az adatok az egyes felhasználókhoz kötődnek A Session objektum élettartama: – Amikor egy adott felhasználó először kér le egy oldalt – Megszűnik, ha az előre meghatározzott idő letelik, illetve a Session.Abandon metódus meghívásra kerül

18 Az eseménykezelőket ismét a Global.asax fájlban kell megírni Az Session eseményei Esemény neveMikor fut le? Session_StartSession indításakor Session_EndSession leállításakor

19 Három tárolási mód van: InProc StateServer SQLServer

20 Ez az alapértelmezett mód Az alkalmazás folyamatában fut, az adatokat az alkalmazás memóriaterületén tárolja A három közül csak ez a mód támogatja a Session.End eseménykezelőt Az állapotinformációk nem oszthatók meg több szerver között egy adott szerver farmon belül

21 A Web.Config-ban kell beállítani Külön folyamatban fut, amit ASP.NET State Service-nak nevezünk A Session.End eseménykezelő nem támogatott Az állapotinformációk megoszthatóak több szerver között

22 Akárcsak az előző esetben, szintén a Web.Config-ban kell beállítani Az adatok Microsoft SQL Server adatbázisban tárolja A Session.End eseménykezelő nem támogatott Az állapotinformációk megoszthatóak több szerver között

23

24 Állapotkezelés Felhasználó kezelés Kliensoldali és szerveroldali validáció Globalization

25 Tulajdonságok halmaza Adat tárolása automatikus SQL Server adatbázisában A visszatérő felhasználót automatikusan azonosítja

26 Definiálás: … Tárolás: Profile.Nev = nameTextBox.Text; Felhasználás: udvozloLabel.Text = ”Szervusz ” + Profile.Nev + ” !”;

27 Azonosított – Felhasználó azonosítása, nyomon követése Ismeretlen – Egyedi azonosítót kapnak – Süti vagy az URL részeként – Nem alapértelmezett beállítás – Minden propertybe: allowAnonymous= ”true”

28

29 Használat: Profile.Cim.Utca

30 Beépített, saját adatbázis WebSite Administration Tool (WSAT) Membership és Roles osztályok Login Controls

31 CreateUserWizard Login LoginView LoginStatus LoginName

32 CreateUser DeleteUser FindUsersByEmail, FindUsersByName GeneratePassword GetAllUsers GetNumberOfUsersOnline GetUser, GetUserNameByEmail UpdateUser ValidateUser

33

34 Állapotkezelés Felhasználó kezelés Kliensoldali és szerveroldali validáció Globalization

35 RequiredFieldValidator a mező értéke nem lehet üres RangeValidator csak adott tartományon belüli érték fogadható el RegularExpressionValidator a reguláris kifejezést kielégítő érték fogadható el ComapareValidator két mező értékének meg kell egyeznie CustomValidator saját egyedi validátor

36 Miért akkor szól, ha a gombra kattintunk? Csoportba fogalás ValidationGroup tulajdonság Kliensoldali validálás tiltása EnableClientScript tulajdonság false-ra állításával

37

38 Állapotkezelés Felhasználó kezelés Kliensoldali és szerveroldali validáció Globalization

39 Mire valók az erőforrások? Mi a lokális erőforrás? Tárolás: App_LocalResources almappa Formátum: [.kultúra].resx Pl.: Default.hu.aspx, Default.hu-hu.aspx

40 Generálás VS-val: Tools | Generate Local Resource – Létrehozza a lokális App_LocalResourcest – Minden vezérlőhöz létrehozza a Textet és ToolTipet MyPage – Hozzáadja az erőforráskulcsot a vezérlőkhöz – A frissítése NEM automatikus! Érdemes a fejlesztés végén elvégezni.

41 Létrehozás Ha megvan a default, copy-paste! Rename-mel átnevezni, értékeket átírni Tesztelés A böngésző beállításaiból az asp.net beállítja a kultúrát A teszteléshez: IE | Tools | Internet Options | Languages | Language Preference | Add, majd Move Up

42 Bármelyik oldalról elérhetőek Tárolás: root/App_GlobalResources Explicit lokalizálás Létrehozás: Sln explorer Jobb katt a rootra, Add ASP.NET Folder Jobb katt az App_GlobalResources folderre Add New Item…, Resource File, Add Adatok hozzáadása Továbbiak: copy-paste

43 Deklaratív kötés – Több vezérlőhöz is ugyanazt az erőforrást rendelhetjük – A vezérlő tulajdonságai között: Expressions – Bindable Properties, Expression Type: Resources – ClassKey: global fájl neve, ResourceKey: erőforrás neve Imperatív kötés – Resources.Resource: automatikus, erősen típusos – Ha nem állnak rendelkezésre fordításkor: GetLocalResourceObject, GetGlobalResourceObject

44 Deklaratívan – Web.config, culture, uiculture Imperatívan – Page.InitializeCulture() Page.Culture: nyelvhez kapcsolt funkciók PageUICulture: betöltendő nyelvi erőforrás

45 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Letölteni ppt "Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Harmadik nap."

Hasonló előadás


Google Hirdetések