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

Slides:



Advertisements
Hasonló előadás
HTML enhanced for web apps! Fodor Krisztián
Advertisements

A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
JQuery 8. előadás.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
ASP.NET MVC 3 platform áttekintés
HTML űrlapok kezelése és feldolgozása PHP segítségével
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Beépített vezérlők és validáció
Stílus, mesteroldal, témák
1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
C# tagfüggvények.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
C# tagfüggvények.
Entity framework Krizsán Zoltán
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Haladó Programozás Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
Felső tagozatosok programozás oktatása
Microsoft Visual Web Developer Express Webfejlesztés Gubicza József.
SQL Server 2005 Reporting Services Kószó Károly rendszermérnök Microsoft Magyarország.
Egy ISA szerver naplója Sárosi György Terméktámogatási Tanácsadó Microsoft Magyarország.
Szombathely Dinamikus WEB programozás: PHP és JSP.
Egyszerű webes alkalmazás fejlesztése Készítette: Simon Nándor.
Egyszerű webes alkalmazás fejlesztése
VFP Form programozás Form szerkesztő elemei vezérlő elemek
Krizsán Zoltán ver 1.1. http állapot mentes Ugyanaz a kliens több kérésén keresztül információkat tartunk valahol. Az oldalakat minden kérés alkalmával.
Új technológiák a web alkalmazásokhoz Nacsa Sándor Fejlesztői és technológia programok Microsoft Magyarország Kft. NJSzT VIII. Országos Neumann-centenáriumi.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Optimalizálás Ez az előadó neve beosztása vállalata.
Bátyai Krisztián NetAcademia Oktatóközpont oktató, fejlesztő MCT, MCPD
Az ASP.NET programozási modell Ez az előadó neve beosztása vállalata.
Publikációs portál Platform Specific Model UML bázisú modellezés és analízis Csapat: UML7 (Percze Dániel, Rajnai Zoltán, Ráth István, Tóth Dániel, Vágó.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
Virág András MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
APEX BMF, II. félév.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Visual Basic 2008 Express Edition
HTML5 alapú fejlesztő és futtató környezet megvalósítása
HTML 2. Űrlapok
Illés Zoltán ELTE Informatikai Kar
Supervizor By Potter’s team SWENG 1Szarka Gábor & Tóth Gergely Béla.
Varga Viktor – G36ECF 1/5 Vendéglátói szoftverek sajátosságai Varga Viktor.
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Webes alkalmazásfejlesztés
Illés Zoltán ELTE Informatikai Kar
Egyéb interpreterek Windows Script Host Internet Explorer Hypertext application.
Java web programozás 7-8..
Violet nails Készítette: Csőke Vivien. Bevezetés Téma: Violet nails - műkörömkészítő weblapjának elkészítése A weboldal elérhető az alábbi címen: violetnails.atw.hu.
A Visual Basic és a programozás oktatása
Bevezetés az Office programozásába
Illés Zoltán ELTE Informatikai Kar
Java web programozás 5..
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Java web programozás 6..
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Opencms modul fejlesztés Krizsán Zoltán. Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Informatikai gyakorlatok 11. évfolyam
Neumann János Informatikai Kar
Előadás másolata:

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. Ingyenes fejlesztés, üzemeltetés (IIS express) Windows azonosítás lehetősége

ASP.NET Koncepció view state esemény vezérelt postback szerver vezérlők

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

View State II ASP.NET létrehozza az oldalt és a szerver vezérlőket a default értékekkel ( .aspx file alapján). 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. Végül az ASP.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. ábra ide 86. oldal

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.

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>

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.

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 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. 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 elemei I

Kiszolgálás elemei II Kezelők (handler) Modulok 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.

Kezelők 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.

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

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.

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

Szerelvény generálás Szükség esetén fut le: 2 lépés 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.

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

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

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

Rendelkezésre álló vezérlők Kliens oldali szkript támogatás runat="server„ lehet, de macerás HTML vezérlők <asp:XXX profi vezérlők szkin, téma Web szerver vezérlők vezérlő tartalmát Ellenőrző vezérlők saját, új vezérlők .ascx @Control Felhasználói vezérlők

HTML vezérlők

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

WEB vezérlők

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)

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

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

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

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

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

Állapot menedzsment lehetőségek Kliens oldal View state Control state Hidden fields Cookies Query strings Application state Session state Profile Properties Szerver oldal

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

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

AJAX

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