asp.net „röviden”

Post on 11-Feb-2016

55 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

ASP.NET „röviden”Krizsán Zoltán

ver: 0.2

2

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

ASP.NET webalkalmazás főbb tulajdonságai

3

ASP.NET Koncepcióview state

esemény vezérelt

postback

szerver vezérlők

4

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" />

View State I

5

1. ASP.NET létrehozza az oldalt és a szerver vezérlőket a default értékekkel ( .aspx file alapján).

2. Ezután az ASP.NET a view state rejtett mező alapján „vissza állítja” az előző kérés állapotára a megfelelő vezérlőket.

3. Végül az ASP.NET HTTP paraméterek alapján átírja a megfelelő vezérlők megfelelő mezőit.

4. Meghívódnak ez eseményt kezelő metódusok.

View State II

6

Á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.

postback

7

<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>

postback II

8

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.

Esemény vezérelt

9

1. 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.

2. A felhasználó a kliens oldalon „tesz-vesz” ami postBack-et eredményez.

3. ASP.NET az újabb kérés alapján létrehozza a vezérlőket.4. ASP.NET a postback kisé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.

5. 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 postback keletkezik, akkor a 3-5 lépések újból lefutnak

Kiszolgálás teljes folyamata

10

Kiszolgálás elemei I

11

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.

Kiszolgálás elemei II

12

Egy procesz, ami asp webapp 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.

Kezelők

13

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

ASP.NET feldolgozásának fő fázisai

14

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.

Esemény kezelő (.aspx)

15

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"> void Button1_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" %>

ASP.NET kód modell

16

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.

Szerelvény generálás

17

Implicit objektumok

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

18

Request Response

Response.Redirect("newpage.aspx"); (302 code) Response.RedirectPermanent() (301 code)

Application Session Server

Server.Transfer() Server.HtmlEncode

User Trace

Implicit objektumok

19

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

Adatok elérése

20

Request.RequestType Request.IsPostBack

if (Page.IsPostBack){  // HTTP Post}else{  // HTTP Get}

Get, post

21

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 header footer,… Futásidejű eseményeket kezel

Alkalmazás szintű HttpApplication Más modul eseményeit

Implementálja a IHttpModule interfészt (Init, Dispose). Metódusai:

Init inicializálja a modult a HttpApplication hívja meg. Saját eseménykezelőit regisztrálja.

Dispose felszabadítja a memóriát. Esemény kezelők.

http modulok

22

•Kliens oldali szkript támogatás•runat="server„ lehet, de macerásHTML vezérlők

•<asp:XXX•profi vezérlők•szkin, téma

Web szerver vezérlők

•vezérlő tartalmátEllenőrző vezérlők

•saját, új vezérlők•.ascx•@Control

Felhasználói vezérlők

Rendelkezésre álló vezérlők

23

HTML vezérlők

24

Két esemény támogatott: ServerClick

HtmlAnchor, HtmlButton, HtmlInputButton, HtmlInputSubmit, HtmlInputImage

ServerChange HtmlInputText, HtmlInputCheckBox,

HtmlInputRadioButton, HtmlInputHidden, HtmlSelect, HtmlTextArea

Html szerver oldali vezérlők

25

WEB vezérlők

26

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)

Konfiguráció

27

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

Gyorsító tár (cache)

28

Kinézet testre szabása. Szkin (szerver vezérlő tulajdonságai), css,

képek, erőforrások. Mappa alapú.

Témák, szkinek

29

Mester oldal definiálja a közös kinézetet.

Közös kinézet = Mester oldal

Forrás: http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx

30

adat tartalmú vezérlőkhöz feltételek hibaszövegek

Felhívás összesítő

Adatok ellenőrzése

31

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)

Állapot menedzsment

32

View stateControl stateHidden fields

CookiesQuery strings

Application state

Session stateProfile Properties

Állapot menedzsment lehetőségek

Kliens oldal

Szerver oldal

33

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

Adatbázis elérés, adat kötés

34

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

Biztonság

35

AJAX

36

Model – View - Controller Model – View - Presenter

Tervezési minták

top related