Előadás 1
A Microsoft .NET-keretrendszer a webes szolgáltatások és alkalmazások létrehozására, telepítésére és elindítására szolgáló platform. Ez biztosítja a magas teljesítményű, szabványokon alapuló, többnyelvű környezetben, amely lehetővé teszi az integráció a meglévő alkalmazások alkalmazások és a következő generációs szolgáltatások és kihívásaira kiépítésére és használatára internetes alkalmazások. NET Framework három fő részből áll - a Common Language Runtime (Common Language Runtime), hierarchikus sor egységes osztály könyvtárak, és a komponens alapú változata ASP, ASP.NET nevezett.
Az ASP.NET része a .NET technológia, amely nagy teljesítményű ügyfél-kiszolgáló internetes alkalmazások írására szolgál. Lehetővé teszi dinamikus HTML oldalak létrehozását. Az ASP.NET-et a régebbi ASP technológiák (aktív szerveroldalak) és a .NET-keretrendszer kombinálásával hozták létre. Sok készenléti ellenőrzést tartalmaz, amelyek segítségével gyorsan létrehozhat interaktív weboldalakat. Ön is használhatja a más webhelyek által nyújtott szolgáltatásokat, átlátható módon a webhelye felhasználói számára. Az ASP.NET lehetőségeit általában csak a képzeleted korlátozza.
A dinamikus neveket weboldalaknak nevezzük, amelyek az ügyfelet a kiszolgáló feldolgozási ciklusára küldik. A legegyszerűbb esetben lehet olyan program, amely módosítja az ügyfél által kért statikus oldalakat a kapott lekérdezés és egyes adattárolók paraméterei alapján. Még egy ilyen primitív szervezet „megoldhatatlan” probléma az előző bekezdésben válik a nyilvánvaló megoldás: elég, hogy készítsen csak egy statikus oldal - sablon - és a szoftver, mielőtt elküldi az oldalt, hogy ki neki értéket kapott ma a bank vagy az időjárási iroda.
A felhasználó a kérelemre adott válaszként HTML kódot küld, amelyet kifejezetten neki készített. Ez például a keresőmotor keresésének eredménye lehet. A CGI parancsfájlokat interpretált nyelven (Perl) vagy akár parancssori parancsfájlba is be lehet írni. A bemeneti és kimeneti áramok átrendeződnek. A bemeneten az internetkiszolgáló elfogadja a felhasználó által megadott adatokat. A kapott adatok feldolgozása után a felhasználó visszaadja az eredményül kapott oldalt. Végrehajtásakor a cgi-program betöltődik a kiszolgáló memóriájába, és a végén - törli. Amikor 100 ügyfél fér hozzá egyszerre a kiszolgálóhoz, 100 folyamatot hoznak létre a memóriában, hogy kiosztsák a memóriájukhoz szükséges kódokat. Ez negatív hatással van a skálázhatóságra. Emlékezzünk arra, hogy a méretezhetőség lehetővé teszi egy szoftverrendszer válaszidőének zökkenőmentes növelését egy lekérdezéshez, ezzel párhuzamos felhasználók számának növekedésével.
A probléma megoldásához a Microsoftnak alternatív - ISAPI (Internet Server Application Programming Interface) - kiterjesztéseket és szűrőket ajánlottak fel. A végrehajtható fájlok helyett DLL-eket használnak. A DLL-kód mindig a memóriában van tárolva, és minden kéréshez nem szálakat, hanem végrehajtási szálakat hoz létre. Minden szál ugyanazt a programkódot használja. ISAPI - az alkalmazás fut az IIS kiszolgáló folyamatában. Ez lehetővé teszi a teljesítmény és méretezhetőség javítását.
Az ISAPI-bővítmények létrehozhatók a Visual Studio C ++ 6.0-ban a varázsló segítségével.
Az ISAPI-nak a fejlesztéssel kapcsolatos hátrányai is vannak. Ha megváltoztatjuk a dll forráskódját, össze kell fordítanunk és be kell helyeznünk a kiszolgáló végrehajtható könyvtárába. De mivel a dll korábbi verziója a memóriában van, le kell állítania a szervert, hogy hozzáférjen a fájlok módosításához. Abban az időben az ügyfelek nem tudnak dokumentumokat kapni a szerverre, és természetesen nem fognak elégedettek.
A kiszolgáló oldalon futó szkriptnyelvek php és asp. Az Asp technológiát a Microsoft a 90-es években fejlesztette ki.
Példa az asp fájlra:
címke <%. %> jelzi, hogy tartalmazza azt a kódot, amelyet a kiszolgálón kell feldolgozni. A szkript fut a nyelvi irányelvben megadott nyelven. A Response.Write utasítás írja a szöveget a kiszolgáló kimeneti streamjére, így a felhasználónak küldött HTML oldal részévé válik.
Az Asp technológia korlátozott volt képességeiben. Olyan szkriptnyelveket használt, amelyek kevesebb funkciót tartalmaznak, mint a teljes funkcionalitású programozási nyelvek. Az asp kód HTML-be épült speciális címkék formájában, ami zavart okozott. Aspók darabjai szétszóródtak rajta, mint a mazsola egy tekercsben. De a HTML-kódot általában olyan tervezők hozták létre, akik tudják, hogyan kell "gyönyörűen csinálni", és az asp programozók, akik ezt teszik. Az ASP.NET-ben megtarthatja a asp és a HTML kódot különböző fájlokban.
A szkriptnyelvek nem támogatják a szigorú gépelést. Mit jelent ez? Nem használhatod változó használatát, és nem adhatok hozzá különböző típusú értékeket. Ez kényelmes, de alapot teremt a hibákhoz. Például egy x1 változóval rendelkezel, és 1-es értékhez rendel hozzá, de tévesen írta, és tévesen írta x2 = 1 értéket. Új x2 változó jön létre, és az x1 értéke nem változik. Erősen gépelt nyelv esetén a fordító észreveszi, hogy az x2 változót nem írta le, és hibát dob.
Az ASP.NET nem az ASP kiterjesztése. Ez egy fogalmi új Microsoft-technológia, amelyet a .NET ideológia keretében hoztak létre. Az ASP.NET-ben mindent lefektetünk annak érdekében, hogy gyorsabban fejlődhessünk egy webes alkalmazást, és egyszerűbbé váljon a támogatás. ASP.NET alapul objektum-orientált technológia, de megtartotta asp fejlesztési modell: létrehoz egy programot, és tegyük a könyvtár, dedikált szerver, és működni fog. Az ASP.NET-nek sok új funkciója van, és a meglévő ASP lényegesen javult.
Az ASP.NET fordított nyelveket használ. A fordítási idő alatt ellenőrizni kell a forrás szövegének szintaktikai helyességét. A köztes nyelvre fordított kód gyorsabb, és ugyanolyan lesz, függetlenül attól, hogy milyen nyelvet használunk. A fordított nyelvek szigorú gépelést támogatnak.
A gyűjtemény a szerveren jelenik meg, amikor a felhasználó először hozzáfér az oldalhoz. Ha a programozó megváltoztatta az oldal szövegét, a program automatikusan újrafordul. A kód írása során a .NET-hez mellékelt összetevőkészletet használhatja.
A .NET Framework alkalmazások futási környezetben, amelyek közvetlenül együttműködnek az operációs rendszerrel. A felett fekszik az ASP.NET alkalmazások interfésze, amely viszont webes űrlapokon (ASP.NET oldalakon) és webszolgáltatáson alapul. A .NET-keretrendszer lehetővé teszi a rendszerhívásokhoz való hozzáférés egységesítését, és környezetet biztosít a gyorsabb és kényelmesebb fejlesztéshez. A CLR egyetlen szolgáltatást nyújt az összes nyelv számára.
Az ASP.NET az ADO.NET adatbeviteli technológiát használja, amely egyetlen felületet biztosít az SQL Server adatbázisok és XML fájlok eléréséhez. Emellett a továbbfejlesztett biztonsági modell lehetővé teszi az ügyfél és a kiszolgáló védelmét a jogosulatlan hozzáféréstől.
A dizájnhoz, témákhoz és bőrökhöz készült sablonok lehetővé teszik a teljes oldal önálló tervezését a funkcionalitás mellett, a témák közé tartozik a grafika és a lépcsőzetes stíluslap.
A Visual Studio for ASP.NET korábbi verziói szükségessé tették az IIS-kiszolgáló jelenlétét a gépen. A szerver most beépül a fejlesztési környezetbe.
Az előcsomagolás képessége lehetővé teszi a hibák felderítését, mielőtt betöltené a kiszolgálón lévő oldalakat. Az eredeti aspx oldalak nem tárolhatók a kiszolgálón, ezáltal védve szellemi tulajdonát.
Az ASP.NET 2.0 rendelkezik beépített technológiával az adatbázis gyorsítótárának automatikus frissítéséhez. Az adatbázisból kapott adatok a kiszolgálón tárolódnak, és az adatbázis nem fér hozzá az ismételt kérés feldolgozásához. Az adatbázis megváltoztatásakor a gyorsítótár frissíti a tartalmát.
Telepítési folyamat
Szabad szoftverelosztás.
A VWD telepítő kapacitása 2,8 MB, de a telepítés során további 40 MB és 80 MB letöltést fog letölteni, ha a dokumentációt telepíteni kívánja. Ezzel a .NET-keretrendszert is telepítheti az ASP.NET 2.0 verzióval.
Rendszerkövetelmények - a processzor legalább 600 MHz-es sebességgel, 128 MB memóriával és 1,3 GB tárhellyel rendelkezik. Telepítés után be kell regisztrálnia a telepítést, teljesen ingyenes.
A WebMatrix telepítője mindössze 1,2 MB méretű, de kevesebb a VWD-nél. Általában azonban ezek a fejlesztési környezetek hasonlóak. A WebMatrix kellemetlen funkciója - a fájlok bezárásakor nem szerkesztett fájlokat kéri. A VWD Express lehetővé teszi az egy kattintással elérhetőséget a projekt web alapú konfigurációs felületéhez. A VWD-ben az IntelliSense technológia működik, amely automatikusan jelzi a kód lehetséges elemeit az adott helyen.
Ha úgy dönt, hogy együttműködik a WebMatrix programmal, telepítenie kell a .NET-keretrendszer 2.0-öt és az ASP.NET 2.0-ta gépére.
Ott láthatók a .NET-keretrendszerhez különböző számítógépes architektúrákra mutató hivatkozások.
Opcionálisan töltse le a .NET-keretrendszer 2.0-s verziójú SDK-t, amely tartalmazza a .NET-keretrendszer 2.0-s verziójú SDK dokumentációját és hasznos példákat.
Példák lesznek a WebMatrix és a Visual Studio esetében is. Néhány példa a VWD Express vagy a Visual Studio alkalmazását igényli.
Az első projekt
Először döntsük el, melyik könyvtár fogja létrehozni az oldalakat. Az ugyanabban a könyvtárban található összes fájl egyetlen projektnek számít. Indítsa el a választott fejlesztési környezetet. Válassza a File-New-Website menüpontot. Megjelenik egy párbeszédpanel. Adjon hozzá egy projektnevet, és válassza ki a C # programozási nyelvet.
Alapértelmezés szerint a projekt létrejön a fájlrendszerben. Kívánságra létrehozhatja HTTP vagy FTP szerveren. A fájlrendszerből a projekt mindig átmásolható a kiszolgálóra a Solution Explorer fejlécének egyik gombjával.
Eddig az oldal a basszusban üres.
Az oldal forráskódja azonban nem üres. A program létrehozta a kódot.
Ezt az oldalt elemezzük.
<%@ Page Language="C#" %>. címke <% всегда предназначается для интерпретации ASP-кода. Директива Page всегда присутствует на странице aspx. Ее атрибут Language - это указание, что в скриптах данной страницы будет использоваться C#, а могли бы VB, C++ или J#. CodeFile - имя файла с отделенным кодом(code-behind). Inherits - класс, определенный в этом файле, от которого наследуется класс страницы.
Ugyanakkor létrehozza a Default.aspx.cs fájlt.
Ez egy kódmegosztási technológia, amelyről már beszéltünk. Az űrlap maga a Default.aspx fájlban van, és a Default.aspx.cs fájl az oldal osztályának a C #-ban. Így az oldal megtervezése megváltoztatható anélkül, hogy befolyásolná az oldal kódját, amely lehetővé teszi, hogy oszd meg az oldal megjelenésének és működésének felelősségét a tervező és a programozó között.
Ez a címke arra utasítja a fordítót, hogy kezelje az oldal vezérlőit. Ne feledje, hogy ez a címke runat tulajdonsággal rendelkezik, amelyhez a "szerver" érték be van állítva (nincs más érték). A tulajdonság használata során a vezérlő feldolgozza a fordító, és nem továbbítja a böngészőhöz "ahogy van".
Illessze be a Default.aspx-et a címkék közé
A címke a vezérlést meghatározza.A Címkekiszolgáló vezérlése olyan eszközre helyezi a szöveget, amely HTML címkéket tartalmazhat. Ha módosítja a vezérlő tulajdonság értékeit a kódban, dinamikusan változtathatja meg az oldalon lévő szöveget. Az asp: Labelben a fordító megmondja, melyik objektumot használja (ebben az esetben a Címke vezérléssel).
Ezután megadja a vezérlés különböző tulajdonságait. Először is a neve id = "time" és a "runat" attribútum, valamint a szöveg.
A Default.aspx.cs fájlnak a következő szöveget kell tartalmaznia:
A részleges kulcsszó megjelent a C # 2.0-ban, és lehetővé teszi, hogy megszakítsa az osztálydefiníció szövegét a különböző fájlok között.
A System.Web.UI.Page olyan osztály, amely alapja az összes ASP.NET oldalnak.
Ha a WebMatrix programmal dolgozik, illessze be a címkék közé az alapértelmezett .aspx fájl.
Helyezzen be egy sort ebben a funkcióban
Lehet, hogy már ismeri az FCL osztálykönyvtár System.DateTime osztályát - amely a .NET-keretrendszer szerves része. Itt használjuk ezt az osztályt, mint bármely C # programban. Ezért bármely .NET osztály elérhető mind helyi, mind elosztott alkalmazásokban.
A beérkezett érték az időobjektum Szöveg tulajdonságához van hozzárendelve. Ez a Label (címke) típus vezérlése, amelyet beillesztettünk. A kliens és a szerver órájának időtartama nem egyezik meg, ha a világ különböző pontjain vannak.
A Page_Load hasonló a szokásos eseménykezelőhöz. Amint könnyen kitalálhatod, ezt a funkciót az űrlap betöltésekor minden alkalommal hívják.
Kérjük, frissítse az oldalt. Meg fogod látni az új időértéket.
Ha a hálózaton és az interneten proxykiszolgálón keresztül érkezik, jelölje be a Helyi címek kapcsolatait (IE) Bypass proxykiszolgáló esetén.
következtetés
Az ASP.NET 2.0 nem könnyű megtanulni, de az összetett modellnek köszönhetően a nyereség az, hogy felgyorsítja a fejlődést más technológiákkal összehasonlítva.