Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig

Slides:



Advertisements
Hasonló előadás

Advertisements

Kamarai prezentáció sablon
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Kereskényi Róbert MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
Piacképes programozói tudás a középiskolában
Hálózati architektúrák
LINQ to DataSet Kereskényi Róbert
SQL Server 2005 Reporting Services a gyakorlatban
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
ASP.NET MVC 3 platform áttekintés
A Windows 7 automatizált telepítése Windows AIK használatával
Stílus, mesteroldal, témák
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
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.
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
Előadó: Kárpáti Péter Üzleti folyamatvezérlés nagyvállalati környezetben (BizTalk Server 2004, Office InfoPath 2003 és Windows.
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.
SharePoint Adminisztráció
Átállás.
Microsoft szoftverek a szakképzésben
Modularizált felépítés SzervermenedzsmentBiztonságDiagnosztika FTP szerver Finom fejlesztések Közös konfiguráció.
Új modulok a szakképzésben SharePoint Designer, Expression Web Gubicza József.
SharePoint Designer és Expression Web
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
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
V 1.0 ÓE-NIK, Programozás I. A Microsoft Visual Studio 2010 használata.
szakmérnök hallgatók számára
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
Weblapok elrendezésének, dizájnjának kialakítása Borsi Katalin webfejlesztő, oktató NetAcademia Oktatóközpont.
Az ASP.NET programozási modell Ez az előadó neve beosztása vállalata.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
Gincsai Gábor MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Virág András MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Gincsai Gábor MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Kereskényi Róbert MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai.
Meglévő ASP.NET 2.0 alkalmazás kiegészítése AJAX-szal
Kereskényi Róbert MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai.
Bevezetés a PRADO keretrendszerbe Kardos Gergely.
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.
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
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
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
A gyakorlatok munkakörnyezete
Illés Zoltán ELTE Informatikai Kar
A teljes infrastruktúra egységesített felügyelete és védelme.
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Modularizált felépítés Szerverfelügyelet BiztonságDiagnosztika FTP szerver Közös konfiguráció, deployment.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
Java web programozás 5..
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
DLL használata és készítése Feladat
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
.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ó)
Informatikai gyakorlatok 11. évfolyam
Hálózati architektúrák
Előadás másolata:

Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig Balássy György Microsoft regionális igazgató (balassy@aut.bme.hu) MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék

Főbb ASP.NET 2.0 újdonságok MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Főbb ASP.NET 2.0 újdonságok Adatkezelő vezérlők Login vezérlők Webkijelzők stb. Vezérlők Mester oldalak Témák és bőrök Jobb kliens szkriptelés Fordítás és lokalizáció Framework Page Tagság Szerepkörök Profilok Konfiguráció ASP.NET 2.0's numerous new features can be grouped into three categories: new controls (more than 50 in all), new features in the page framework, and new services. In addition, myriad enhancements have been made to existing controls and services. Szolgáltatások és API-k Webhely térképek Monitorozás stb.

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Blog példa alkalmazás

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Délutáni gyakorlatokon: Használt autó példa alkalmazás  Lehet még jelentkezni!

Dinamikus webalkalmazások ASP.NET HTTP kérés Webkiszolgáló (IIS) Saját webalkalmazás Böngésző HTTP válasz

Tartalom Kódolás Fordítás Közzététel Futtatás és üzemeltetés

Mappa alapú fejlesztés MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Mappa alapú fejlesztés Mappa határozza meg a web projektet Nincs projekt fájl Projekt beállítások .sln-ben %UserProfile% \ My Documents \ Visual Studio 2005 \ Projects \ <webprojektnév> \ <webprojektnév>.sln Célszerű előbb létrehozni a solutiont Minden fájl a projekthez tartozik Minden source control alá tehető Dokumentáció, grafikai forrás fájlok Temp fájlok  rejtett mappák Megosztás, FTP vagy FPSE Sok fájl esetén is gyors Source control problémák: kitörölt fájlok visszakerültek, .TMP fájlok Mi nem tartozik a projekthez: .exclude Nem kell FPSE, nincs több _vti_ mappa (FrontPage was initially created by the Cambridge, Massachusetts company Vermeer Technologies Incorporated, evidence of which can be easily spotted in filenames and directories prefixed _vti_ in web sites created using FrontPage. Vermeer was acquired by Microsoft in 1996 specifically so that Microsoft could add FrontPage to its product line-up. [Forrás: http://en.wikipedia.org/wiki/Microsoft_FrontPage])

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Fejlesztői szerver Korábbi „Cassini” alapjain Alapértelmezett, ha nincs IIS Use default web server opció a projekt tulajdonságlapján Csak lokális kéréseket szolgál ki Véletlen portszámon fut Hibakeresést támogatja A fejlesztő nevében fut Manuálisan is indítható Nem mindenben működik úgy, ahogy az IIS !!! A web projekt bezárásakor leáll. Eltérések: Milyen felhasználói fiók nevében fut Nem ASP.NET fájlok védelme alapértelmezés szerint be van kapcsolva rajta, de IIS-en nincs. Csak IIS-en megy: egymásba ágyazott VDIR-ek és alkalmazások. C:\>Webdev.webserver.exe /port:8080 /path:"R:\Works\Blog" /vpath:"/Blog" http://localhost:8080/Blog „Start Web Server Here” shell kiterjesztés: Robert McLaws http://weblogs.asp.net/rmclaws/archive/2005/10/26/428600.aspx http://weblogs.asp.net/rmclaws/archive/2005/10/25/428422.aspx

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Speciális könyvtárak Lefordított szerelvények (.dll) bin Webszolgáltatásokra mutató hivatkozások, sémák (.wsdl, .xsd, .disco) App_WebReferences Témák és bőrök (.skin, .css) App_Themes* Oldal- és vezérlőelem szintű erőforrások (.resx, .resources) App_LocalResources Alkalmazás szintű erőforrások (.resx, .resources) App_GlobalResources Adatfájlok, adatbázisok (.mdf, .mdb, .xml) App_Data Kód: segédosztályok, üzleti objektumok (.cs, .vb, .xsd) App_Code Böngésző definíciós állományok (.browser) App_Browsers Tartalma Mappa neve A VS05 csak azokat a fájl típusokat kínálja fel az Add New Item ablakban, ami a könyvtárra jellemző. Az App_Themes kivételével ezek a könyvtárak nem érhetők el a kliensről, de szerver oldali kódból lehet rájuk hivatkozni. App_Browsers App_Code: lehet könyvtáranként különböző nyelvű  web.config: <codeSubDirectories> App_Data: App_GlobalResources: erősen típusos elérés a teljes alkalmazásból App_LocalResouces: App_Themes App_WebReferences: a mappa szerkezet meghatározza a típust bin: kompatibilis az 1.1 működéssel * Elérhető kliens oldalról

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Mappa alapú fejlesztés Web projekt létrehozása Ha valami nem tartozik a projekthez: .exclude Cassini Speciális könyvtárak

Tartalom Kódolás Fordítás Közzététel Futtatás és üzemeltetés

v.1.x problémák Két fordítási környezet Fordítási időben nyelvi fordítók Futási időben ASP.NET v.1.x Törékeny: ID egyezés az ASPX és a CS fájl között Lassú: az egész alkalmazást kellett fordítani Sok hiba csak futási időben derült ki ASPX kód Adatkötés Konfiguráció Célok: Több ellenőrzés fordítási időben 100% kompatibilitás

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Mögöttes kódot tartalmazó fájl Az osztály neve, amiből származtatni kell <%@ Page CodeFile="Log.aspx.cs" Inherits="Admins_Log" ... %> public partial class Admins_Log : System.Web.UI.Page { ... } Dinamikus fordítás System.Web.UI.Page -.Admins_Log Generált részleges osztály: .Profile .ApplicationInstance .Master Vezérlők deklarációja Megírt részleges osztály: Page_Load() Eseménykezelők Saját mezők, tulajdonságok, metódusok ASP.admins_log_aspx A hivatkozás a mögöttes fájlra kicsit változott: eddig CodeBehind  most CodeFile A mögöttes fájl nem teljes Page implementáció, csak részleges osztály. A másik felét az ASP.NET runtime generálja hozzá az ASPX alapján (korábban erre is származtatás volt). A származtatás továbbra is szükséges a vezérlő hierarchia felépítése miatt. Új partial class hozzáadása? Fejlesztési időben a VS05 elvégzi a másik rész előállítását.

Kód generálás fejlesztéskor MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Kód generálás fejlesztéskor Deklaratív leírás  fordítható kód Runtime Részleges osztályok Speciális mappák Adatkötések ExpressionBuilders $AppSettings, $ConnectionStrings, $Resources BuildProviders VS05 is elvégzi  IntelliSense Deklaratív leírás: XSD, WSDL, majd látni fogjuk: sitemap, profile, referenciák, adatkötés, tárolt eljárások paraméterei stb. Azt mondjuk meg, hogy mit szeretnénk, nem azt, hogy hogyan (egyszerűbb, átláthatóbb) Részleges osztályok: kontroll deklarációk, esemény feliratkozások, a korábbi InitializeComponent stb. Speciális mappák: pl. majd látni fogjuk a mesterlapokat, skineket és témákat, azokból is kód keletkezik (Témák: vbc.exe) ExpressionBuilder: globális web.configban vannak regisztrálva az <expressionBuilders> szekcióban. IntelliSense: A VS05 is elvégzi a kód generálást. <asp:Label ID="lblVersion" runat="server" Text="<%$ AppSettings:AppVersion %>" />

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ BuildProviders Minden projekt típusban: XSD  DataSet, WSDL  proxy ASP.NET-ben kiterjeszthető Tetszőleges fájl formátumhoz Tetszőleges fordítás előtti feldolgozás és kód generálás (CodeDOM) Web.config kapcsolja össze <buildProviders> szekció Globális web.configban 11 előre definiált pl. IgnoreFileBuildProvider Saját osztályt kell írni. IgnoreFileBuildProvider: fordítási és telepítési műveletek nem vonatkoznak rá. Hasonlóan megvalósítható WinForms alkalmazásokra is, lásd Dino Esposito: Build providers for Windows Forms c. cikkét a 2006. februári MSDN Magazinban. (custom VS tools)

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ QueryStringBuildProvider IntelliSense Web.config .urlparams fájl IgnoreFileBuildProvider

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Fordítás Alapértelmezés szerint minden dinamikusan fordul „On demand” fordítási folyamat Gazdagabb „edit and continue” %FrameworkDir% \ %FrameworkVersion% \ Temporary ASP.NET Files A szerelvények nevét a fordító határozza meg Alapértelmezés: könyvtáranként Build Page Probléma: hivatkozások @Page classname attribútum  @Reference direktíva On-demand compilation workflow: a fejlesztő módosít egy állományt és az ASP.NET lefordítja az összes olyan erőforrást, amely ettől függ. Ha a fordítót futtató felhasználói fióknak nincs joga ide írni, akkor az adott fiók profil könyvtárában jön létre. A .dll-ek neve tartalmaz egy hash kódot. Gyors fejlesztés. Probléma: Minden könyvtár külön DLL-be fordul. Hogyan tudok hivatkozni más könyvtárban lévő típusokra: pl. dinamikusan betöltendő ASCX (kasztolás) vagy Page ősosztály Internal metódusok nem lesznek láthatóak  tervezni kell! Ha egy könyvtáron belül több nyelven létezik forráskód, vagy hivatkoznak egymásra, akkor külön szerelvénybe kerülnek.

Előfordítás (precompilation) MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Előfordítás (precompilation) Helyben (in place) Cél: teljesítmény (első kérés) Mint a dinamikus fordítás esetén Csak, ami fordítható (HTML, grafika, statikus stb. marad) Éles környezetre Cél: telepíthetőség, forráskód védelme Nem frissíthető (for deployment; binary-only deployment model) ASPX  .compiled Nincs várakozás az első kérésnél Frissíthető (for deployment and update; updatable deployment model) ASPX, témák, erőforrások maradnak (módosulhatnak) Első kéréskor ezek dinamikusan fordulnak A cél környezetben nem tud senki belepiszkálni az alkalmazásba. Szellemi tulajdon védelme. Nincs késleltetés az első kéréskor. .compiled: az ASP.NET ez alapján határozza meg, hogy az adott oldal kódja melyik szerelvényben található. Törölhető, ha más projektbe töltjük be a szerelvényt, például egy ASCX-ekből álló library esetén. Kiegészíti a dinamikus fordítást, ami gyors fejlesztést tesz lehetővé (minden futási időben fordít). Lehetőségek: Mindent futási időben (App_Code). Kódot előre, ASPX-et futási időben. Mindent előre.

Fájlkezelés előfordításkor MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Fájlkezelés előfordításkor Típustól és könyvtártól függően Ami kód: fordul \Bin könyvtárba szerelvény és .compiled ASPX: fordul vagy megmarad Ha fordul Helyőrző marad, kódot nem tartalmaz Céljai: IIS: Check that file exist Jogosultság szabályozás (IIS, NTFS) Ha megmarad: módosul a @Page Statikus tartalom: másolódik MSDN: File handling during ASP.NET precompilation Módosul a @Page direktíva: Eredeti: CodeFile="Post.aspx.cs" Inherits="Post" Fordítás után: inherits="Post, MSDNKK.Blog" Fontos az MSDN cikk, mert sokféle fájl típus van és többféle fordítási scenario.

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ aspnet_compiler.exe Webprojektek fordítására Háttérben csc.exe-t és vbc.exe-t hívja Hívható batch fájlból A keretrendszer része %FrameworkDir% \ %FrameworkVersion% A keretrendszer része, nem kell hozzá VS05. Tudja, hogyan kell kezelni a különböző típusú fájlokat. Háromféleképpen lehet hivatkozni a projektre: Teljes IIS metabase elérési úttal Relatív virtuális útvonallal Fizikai elérési úttal a fájlrendszerben C:\aspnet_compiler.exe /v /Blog

Szerelvény információk Verzió szám és erős név App_Code \ AssemblyInfo.cs Jó, ha minden egy szerelvénybe fordul Korlátozottan: aspnet_compiler.exe Publish web site Rugalmas megoldás: aspnet_merge.exe

Web Application Projects Preview Letölthető ingyenes VS 2005 kiegészítés Visszaállás a VS 2003 web projekt modellre: Projekt fájl Egyetlen szerelvényre fordul Látszik a .designer.cs fájl De: VS 2005 designer támogatás Fejlesztői webszerver Fordítás MSBuild segítségével Egyszerűbb migráció

Tartalom Kódolás Fordítás Közzététel Futtatás és üzemeltetés

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Copy web site Szinte minden webfejlesztő-eszközben megtalálható funkció. Szinkronizálás: FTP és FPSE Bután másol, nincs tekintettel a fájlok típusára.

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Publish web site Grafikus felület az aspnet_compiler.exe-hez Távoli gépre FPSE -u -fixednames Teljes előfordítás indítható manuálisan. Visual Web Developer Express változatban nincs ilyen szolgáltatás. -keyfile -delaysign -keycontainer -aptca

Web deployment projects Preview Cél: több kontroll

Web deployment projects MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Web deployment projects Letölthető ingyenes kiegészítés Újabb projektként látszik a solutionben %ProgramFiles% \ MSBuild \ Microsoft \ WebDeployment \ v8.0 aspnet_merge.exe Szerelvények összeállítása, elnevezése, verzionálása, erős névvel ellátása web.config módosítása IIS VDIR létrehozása, jogok beállítása Kiterjeszthető funkcionalitás Fordítás előtti és utáni események  taskok Ezzel lehet igazán jól megvizsgálni a fordítás kimentét. Valójában a web deployment projekt egy MSBuild project file. Egy-egy hozzárendelés a WDP és a web site között. Nem látszanak hozzá gyermek elemek. Valójában MSBuild taskok sorozata, saját task kiegészítéseket tartalmaz. Együttműködik a VS-ban található setup projektekkel, így akár .MSI is készíthető. További több mint 100 MSBuild task letölthető a GotDotNetről: http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=2cb20e79-d706-4706-9ea0-26188257ee7d

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Web deployment project Szerelvények granularitásának módosítása Konfig fájl módosítása Könyvtár törlése Közzététel éles szerveren Interware deploy

Tartalom Kódolás Fordítás Közzététel Futtatás és üzemeltetés

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Kérések feldolgozása Kérés Válasz aspnet_regiis -i IIS aspnet_isapi.dll ASP.NET runtime HttpApplication Pipeline: ISAPI, module, handler Változatlan modell az 1.1 és a 2.0 esetén, csak több modul és handler van. IIS kiterjesztés alapján átadja a kérést az aspnet_isapi.dll-nek (ISAPI filter), ami elindítja az ASP.NET runtime-ot. Az ASP.NET runtime létrehoz egy HttpApplication objektumot, ami mintegy hosztolja a webalkalmazást. Felolvassa a konfigurációs fájlokat. Végigküldi a kérést a HttpModule-okon. A kérésben szereplő verb (GET, POST, FTP stb.) és URL alapján átadja a kérést egy HttpHandlernek (pl. a System.Web.UI.Page egy IHttpHandler implementáció). HttpModule HttpModule HttpModule Verb és Path alapján HttpHandler

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Mitől lesz alkalmazás Alkalmazás = VDIR + metaadatok Meghatározza az alkalmazás határait \bin könyvtár a szerelvényeknek Alkalmazás szintű web.config Alkalmazás szintű események (global.asax) Speciális ASP.NET 2.0 mappák Alkalmazás készlethez rendelhető CLR alkalmazás tartomány jön létre VDIR tartalma a Solution Explorerben nem látszik és a deployment műveletek sem vonatkoznak rá – de a designer követi a képek és CSS fájlok elérési útjait.

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Modulok <httpModules> a globális web.configban OutputCache Session WindowsAuthentication FormsAuthentication PassportAuthentication RoleManager UrlAuthorization FileAuthorization AnonymousIdentification Profile ErrorHandlerModule Számít a sorrendjük Kiemelve az újak. Sorrend: OutputCache van elől.

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Handlerek axd HttpNotFoundHandler * DefaultHttpHandler WebResource.axd AssemblyResourceLoader rem, soap HttpRemotingHandlerFactory asmx WebServiceHandlerFactory ashx SimpleHandlerFactory aspx PageHandlerFactory Trace.axd TraceHandler dll.config, exe.config StaticFileHandler vjsproj, java, jsl, asax, ascx, config, cs, csproj, vb, vbproj, webinfo, asp, licx, resx, resources, master, skin, browser, sitemap, mdb, ldb, ad, dd, ldd, sd, cd, adprototype, lddprototype, sdm, sdmDocument, mdf, ldf, exclude, refresh HttpForbiddenHandler Kiterjesztés Handler Vigyázni kell a cikkek dátumával, pl. 2005. márciusi „ASP.NET 2.0 internals” még ír ezekről: WebAdminHandler CachedImageServiceHandler SiteCountersHandler PrecompHandler WebPartExportHandler app_offline.htm: amíg létezik, ide irányítódnak át a kérések

Alkalmazás életciklusa MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Alkalmazás életciklusa Global.asax HttpApplication ősosztályból származik this.ApplicationInstance Egyszerre csak egy kérést szolgál ki Automatikus esemény feliratkozás Application_eseménynév Csak egyszer _Start, _End Minden kéréshez _BeginRequest, _AuthenticateRequest stb. Minden sessionhöz Session_Start, Session_End Az ApplicationInstance dinamikusan generálódik és ASP.global_asax típusú. A publikus tulajdonságai elérhetőek típusosan.

Alkalmazás újraindulása Ha módosul a tartalma bin mappának App_GlobalResources, App_LocalResources mappának App_Code mappának App_WebReferences mappának Global.asax fájlnak web.config fájlnak Profile definíció Az aktuális kéréseket még a futó appdomainből szolgálja ki

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Oldalak életciklusa Új Page és kontroll példány minden kéréshez Állapotmegőrzés @Page AutoEventWireup Page_eseménynév .Context: HttpContext Request Response Session Application Server Állapotmegőrzés: viewstate, session, rejtett mező, adatbázis, URL paraméter

Kód generálás futtatáskor MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Kód generálás futtatáskor A vezérlők XHTML kódot generálnak XHTML Transitional 1.0 Validálás Accessibility irányelvek WCAG 1.0, Section 508 Validálás (amit lehet) Automatikus böngésző felismerés App_Browsers tartalma alapján (.browser) Uplevel: ECMAScript 1.2, HTML 4.0, MSDOM, CSS Downlevel: HTML 3.2 <xhtmlConformance mode="Legacy|Strict|Transitional"/> Accessibility lehetőségek: A kontrollok az irányelveknek megfelelő kódot generálnak. (pl. CheckBox) A kontrollok generálhatnak tökéletes kódot, ha jól vannak bekonfigurálva (pl. Image kontroll AlternateText tulajdonság) A kontrollok nem használhatóak, ha tökéletes oldalra van szükség (pl. Calendar mindenképpen használ kliens oldali szkriptet) Ellenőrzés: Accessibility ellenőrző eszköz nincs a Visual Web Developerben. Csak a statikus szövegeket tudja ellenőrizni, a dinamikus tartalmat és a színeket nem. Csak a HTML markupot ellenőrzi, a szerver oldali vezérlőket nem. Sok esetben XHTML 1.1 kompatibilis. Böngésző függetlenség: tekintettel van a böngésző típusára. Kiterjeszthető. A generált kód adaptálódik a böngésző típusához (amit mi írunk, az nem). <browserCaps> a .config fájlban már deprecated, de működik. Vannak globális böngésző definíciók a %FrameworkDir%\%FrameworkVersion%\CONFIG\Browser mappában. A VS05 IDE támogatja a validálást a megadott böngésző séma szerint.

Kinek a nevében fut IIS Fejlesztői szerver SQL Server Windows XP: Gépnév\ASPNET Megváltoztatható machine.config-ban <processModel userName=„…” password=„…” … /> Windows Server 2003: NT Authority\Network Service Megváltoztatható AppPoolonként az IIS6-ban Fejlesztői szerver Fejlesztői fiók nevében SQL Server A szolgáltatáshoz megadott fiók nevében SQL Server Express: user instance mode Saját példány a futtató fiók nevében A felhasználó SysAdmin jogokkal kapcsolódik hozzá

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ machine.config root web.config alkalmazás gyökér web.config alkalmazás alkönyvtár web.config … Konfiguráció Hierarchia, öröklés és felülírás (tiltható) Alapértékek a .default fájlokban Grafikus eszközök IIS MMC snap-in Web Site Administration Tool Csak lokálisan %FrameworkDir% \ %FrameworkVersion% \ ASP.NETWebAdminFiles Parancssori eszköz: aspnet_regiis.exe  !!! Újraindul az alkalmazás !!!  Felülírás tiltása: allowOverride=false

ASP.NET Configuration API MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ ASP.NET Configuration API Írható – olvasható a hierarchia bármely szintje Távoli gépre is: aspnet_regiis -config+ System.Web.Configuration névtér WebConfigurationManager osztály .OpenWebConfiguration(…) .GetSection(…) .AppSettings[…] .ConnectionStrings[…] <connectionStrings>  ConnectionStringSettings osztály Szekciók típusosan kezelhetőek <anonymousIdentification>  AnonymousIdentification Kiterjeszthető: saját szekció, felolvasás és validáció attribútumokkal C:\aspnet_regiis –config+ Távoli eléréshez admin jogok kellenek, míg lokálisan elég az olvasási jog a .config fájlra. A connection stringekre deklaratívan is lehet hivatkozni a korábban említett expression builderek segítségével.

<healthMonitoring> MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ <healthMonitoring> <eventMappings> type <profiles> <rules> A default ASP.NET eseményekhez utólag is konfigurálható, kódolás nélkül. WMI-vel összeköthető mindkét irányba. Ezen kívül a korábbihoz képest még több teljesítmény számláló is létezik. <providers> type <bufferModes>

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Monitorozás Health monitoring System.Web.Management névtér Események (web event): mi történt WebBaseEvent ősosztály  kiterjeszthető Csoportokba szervezve Providerek (listeners): hova kell naplózni Eseménynapló, WMI, SQL, SMTP, Trace Buffer módok: kötegelt naplózás Profilok: milyen esetben kell naplózni Szabályok Mit-hova-mikor kell naplózni Web.config <healthMonitoring> szekció Események típusai: Életciklussal kapcsolatos események (pl. heartbeat) Hibákkal kapcsolatos (pl. fordítási hiba) Biztonsággal kapcsolatos események (pl. sikertelen bejelentkezés) Csoportok: pl. All Events, All Errors, All Audits, Failure Audits Profilok: előfordulási gyakoriság, minimum, maximum példány, időköz

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Monitorozás Health monitoring Teljesítmény számlálók

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Összefoglalás Hatékony fejlesztés A keretrendszer sok feladatot levesz a fejlesztő válláról Sok 2.0 újdonságról nem volt még szó A VS segít a rutinfeladatokban Újdonságok: postback másik oldalra, aszinkron oldalak, aszinkron eseménykezelők

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ További információk Fejlesztői Portál: http://www.devportal.hu Webfejlesztés témaközpont: http://www.devportal.hu/Portal/Webdevelopment.aspx ASP.NET honlap http://www.asp.net MSDN ASP.NET Developer Center http://msdn.microsoft.com/asp.net/ Visual Studio 2005 MSDN Documentation http://msdn2.microsoft.com Visual Web Developer 2005 Express Edition http://msdn.microsoft.com/vstudio/express/vwd/ Visual Web Developer 2005 Express Edition MSDN documentation http://msdn2.microsoft.com/ms178093(en-US,VS.80).aspx ASP.NET 2.0 Quickstart tutorial http://www.asp.net/Tutorials/quickstart.aspx Scott Guthrie blogja http://weblogs.asp.net/scottgu/ Minden forrásnak figyelni kell a dátumát!

Napirend Csütörtök Péntek 9:30-11:00 Az ASP.NET 2.0 futtatókörnyezet: az alapoktól az újdonságokig (Balássy György) Biztonság és jogosultság kezelés ASP.NET 2.0 környezetben (Gincsai Gábor) 11:00-11:20 Szünet 11:20-12:50 Adatelérés ASP.NET 2.0 platformon (Dávid Zoltán) ASP.NET 2.0 alkalmazások arculata és testreszabása (Kereskényi Róbert) 12:50-13:40 Ebédszünet 13:40-17:00 Laborgyakorlatok

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ Kérdések és válaszok Értékelőlapok!

MSDN Kompetenciák Egyeteme: ASP.NET 2.0 2006.02.09-10. MSDN Kompetencia Központ © 2006 Microsoft Corporation. Minden jog fenntartva. Az előadás csupán tájékoztató jellegű, a Microsoft Magyarország a benne szereplő esetleges hibákért vagy tévedésekért semmilyen felelősséget nem vállal.