Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Első nap
Bevezetés Web Site felépítése Konfigurációs fájlok Server controlok létrehozása Alkalmazás publikálása
GET default.html HTML kód 1.Kérés feldolgozása 2.Válasz küldése, kapcsolat lezárása 1.Kérés küldése a webkiszolgáló felé 2.Kapott válasz megjelenítése a böngészőben
GET default.aspx HTML kód 1.Kérés feldolgozása 2.Szerver oldali kód futtatása 3.Session adatok tárolása 4.Generált válasz küldése 1.Kérés küldése a webkiszolgáló felé 2.Kapott válasz megjelenítése a böngészőben HTTP: 80-as port HTTPS: 443-as port
Oldal kérésnél text alapú üzenetet kap a webszerver: GET /default.aspx HTTP/1.1 Host: Fontosabb HTTP hívások HTTP metódusLeírás OPTIONSKulcsszavak listája GETAdat letöltése a szerverről HEADCsak metaadatok POSTAdatok elküldése DELETETörlés a webszerveren PUTFelöltés a webszerverre
Válaszban érkezett html üzenet HTTP/ OK Server: Microsoft-IIS/6.0 Content-Type: text/html Content-Length: 38 Hello
Státuszkód csoport Leírás 1xxInformációs – Kérést fogadtuk 2xxSikeres végrehajtás 3xxÁtirányítás szükséges 4xxKliens oldali hiba(syntax), vagy a szerver nem tudja értelmezni a kapott kérést 5xxSzerver oldali hiba, az egyébként érvényes kérés nem teljesíthető
Multipurpose Internet Mail Extension MIME típusLeírás TextPlain, xml, html altípus ImageFőleg jpeg és gif altípusok, megjelenítőt igényel AudioHang anyagok VideoMpeg altípus, megjelenítőt igényel applicationFőleg bináris adatok, vagy PostScript
POST-tal – Nincs méret limit – Üzenet törzsében utazik az adat Pl: POST …. ….. Id=123&color=blue GET-tel – IE esetében max 1024 karakter – Az Url-ben (QueryString) utazik az adat Pl: GET /GetCustomer.aspx?Id=123&color=blue HTTP/1.1
Sokszor célszerű külső alkalmazást használni, hogy lássuk mit küldünk el a szervernek – Microsoft Network Monitor – Telnet – Bármi ami szimpatikus
Bevezetés Web Site felépítése Konfigurációs fájlok Server controlok létrehozása Alkalmazás publikálása
Web Site vs Web Page (WebForm) Web Site típusok Solution fájl készül (.sln) Solution user options fájl (.suo) TípusLeírás File-basedDevelopment szerver FTP-basedTávoli géphez FTP elérés Local-HTTPHely IIS Remote-HTTPTávoli IIS – Front Page Server Extensions
Page direktíva – Namespaces – Load assemblies Kód – Kliens oldali scriptek – Szerver oldali kód – Lehet codebehind-ban Layout – Html markup
Inline – A szerver oldali kód az aspx-ben van Code-Behind – A kód egy külön.cs(vagy.vb) fájlban szeparált Keverhető programozási nyelvek A Code-Behind modell a használatos
Az oldal akkor fordul le, amikor lekérik – (nincs előre fordítva) Időbélyeggel látják el – Ha érvénytelen, újrafordítják Előnyei: – Csak a módosított site-ot fordítja újra – Egy hibás oldal nem öli meg az egész web site-ot.
Default.aspx Default.aspx.cs Speciális mappák Mappa neveLeírás App_Browsers.browser definíciós fájlok App_CodeBO fájlok App_DataAdatforrások App_GlobalResourcesGlobális erőforrások App_LocalResourcesLokális erőforrások App_ThemesTémák (.css,.skin…) App_WebReferences.wsdl,.xsd,.disco…. Bin.dll-ek (pl. AjaxControlToolkit)
Bevezetés Web Site felépítése Konfigurációs fájlok Server controlok létrehozása Alkalmazás publikálása
A konfigurációs fájlok hierarchiája – Machine.config.NET Framework specifikus – Root Web.config IIS specifikus – Website Web.config Webhely specifikus – WebApplication Web.config Web alkalmazás specifikus – Alkönvtárban Web.config Szűk részhalmaz
Cache-be kerül hierarchikusan módosul Web Site Administration Tool – Security – Applicaton Configuration – Provider Configuration
Bevezetés Web Site felépítése Konfigurációs fájlok Server controlok létrehozása Alkalmazás publikálása
System.Web.UI.Control runat=”server” Megőrzi az állapotát ID alapú hivatkozás
1.Kérés beérkezik 2.Elkészül a web oldal o Gyermek vezérlők példányosítása, renderelése 3.Visszaküldés a böngészőnek 4.Az objektumot egytől egyig megsemmisülnek Skálázhatóság Vs Állapotmegőrzés hívások között
A Form állapotát márpedig meg kell őrizni Az oldalba kódolt Hidden Field: __ViewState Teljesítmény – avagy kell ez nekem? ViewState a trace-ben - Méretek
Metódus (Esemény)Leírás OnInit (Init)Gyermek vezérlők inicializálása LoadControlStateControlState betöltése (reg-elni kell) LoadViewStateViewState betöltése LoadPostDataBejövök form adatok betöltése Load(OnLoad)Az oldal stabil – Custom kód elhelyezése RaisePostDataChangedEventPl TextChanged event kezelése RaisePostBackEventKliens oldali postback kezelése (pl gombklikk) PreRender(OnPrerender)Last-minute változtatások (bekerül viewstate-be) SaveControlStateViewState-be ment, ezt követően nincs változtatás SaveViewStateViewSate-be ment adatot. RenderHTML kód generálása DisposeNem menedzselt erőforrások felszabadítása (conn) UnLoadMenedzselt erőforrások felszabadítása (classes)
HTML vezrélőt használjunk, ha – ASP -> ASP.NET 2.0 – Javascript-et aktívan használni kell Vezérlő eseményei Sok a vezérlőre való hivatkozás a scriptben
Régi website-ok könnyű konverziója HtmlControl ősosztály runat=”server” Vezérlők: – Image, Link, InputButton, InputText, InputHidden stb… Tulajdonságok – Attributes, Disabled, Id, Style, TagName, Visible
Konzisztens programozási modell Nem korlátozódik egyetlen html tag-re WebControl ősosztály Megkülönbözteti a böngészőket!
AccessKey, BackColor, BorderColor, BorderWidth, BorderStyle, CssClass, Enabled, EnableTheming, EnableViewState, Font, ForeColor, Height, SkinID, TabIndex, ToolTip, Width…
Postback – TextBoxnál – changed event – Button-nál – Submit event Naming Containers – INamingContainer – UniqueID – FindControl(”ID”) GridView – ”ctl0X”
Label – – Dinamikusan változó szöveg – Html, literal – Text - Html formázás TextBox – – TextMode MultiLine, SingleLine, Password Rows, MaxLength, Wrap
Button – Submit Postback – Command CommandName CommandArgument – CausesValidation CheckBox – Text, TextAlign – Checked, CheckedChanged – CheckBoxList - csoportosítás
RadioButton – Text, TextAlign – GroupName – Checked
Bevezetés Web Site felépítése Konfigurációs fájlok Server controlok létrehozása Alkalmazás publikálása
Solution Explorer Publish WebSite menüpont
© 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.