
Mellékelt példa megnyitása előtt szükséges egy ASPNET01_B nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
Áttekintés
Összességében elmondható, hogy az ASP.NET olyan Web-fejlesztési platform, mely rendelkezésre bocsátja az összes, a fejlesztéshez szükséges komponenst, és eszközt. A lefelé kompatibilitás érdekében képes együttműködni a régi ASP alkalmazásokkal is, ugyanakkor egy újfajta programozási modellt és infrastruktúrát valósít meg. Az elkészített alkalmazások robusztusabbak, és rugalmasabbak lesznek.
Mindezek a tulajdonságok annak köszönhetőek, hogy az ASP.NET alkalmazásokat is Közös Nyelvi Futtatórendszer (CLR) fordítja és futtatja, így az ASP.NET alkalmazások is nyelv-függetlenek, támogatják az objektumorientált fejlesztést, és a verziókövetést.
Annak érdekében, hogy ASP.NET alkalmazásainkat létrehozhassuk, rendelkeznünk kell a rendszerünkben egy telepített Web-szerverrel. A Windows NT rendszerektől kezdődően ez Internet Information Services (IIS) néven a Windows része. Alapértelmezett módon ez nem kerül telepítésre, utólag nekünk kell ezt elvégezni. Amennyiben az ASP.NET alkalmazásainkkal adatforrásokhoz is kapcsolódunk, akkor rendelkeznünk kell a MDAC 2.6 vagy későbbi verziójával.
Alkalmazások fejlesztése
Az ASP.NET nyelvfüggetlenségének köszönhetően alkalmazásainkat bármely .NET kompatibilis nyelven fejleszthetjük, akár több nyelven is egyszerre. Ez lehet C#, Visual Basic.NET, vagy JScript.NET.
Az ASP.NET alkalmazások esetében a fejlesztés végső soron egyedi megjelenésű Webes űrlapok elkészítését jelenti, melyeket úgy szerkeszthetünk a keretrendszer szerkesztője segítségével, mintha az egy Windows-os alkalmazás Form-ja lenne.
A Visual Studio.NET keretrendszer ToolBox palettájának Web Forms füle alatt találhatjuk meg azokat a vizuális kontrolokat, melyek szerver oldali alkotóelemek, vagyis amellett hogy a Webes űrlapokon megjelennek, a szerver-oldali kódból is elérhetőek.
A Webes alkalmazások esetében WebForm objektumok szolgáltatják azt a keretet, mely összefogja az egy-egy laphoz kapcsolódó funkcionalitást. Vagyis, minden weblap egy-egy WebForm, melyek fizikai állományként jelennek meg a Web-alkalmazás mappájában, és amelyeket a futtatórendszer értelmez, és dolgoz fel. Az állományok kiterjesztése .ASPX.
Az ASP.NET alkalmazások legfontosabb különbsége az ASP lapokhoz képest az, hogy míg az ASP lapok a kliens-oldali HTML kódot, és script kódokat, valamint a szerver-oldali objektumokkal végzett műveleteket.
Az ASP.NET alkalmazások űrlapjai ezekkel a tulajdonságokkal mind rendelkeznek, valamint kiegészülnek az úgynevezett mögöttes kód szerkezettel (Code Behind), vagyis az .ASPX lapok egy forráskód állománnyal is rendelkeznek, melyek neve azonos a WebForm-ok állományainak nevével, valamint kiterjesztése függ a fejlesztés nyelvétől, mely C# esetében .cs, míg Visual Basic esetében .vb. Erre a mögöttes kódra a WebForm fejlécében hivatkozhatunk, például így:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="ASPNET01_B.WebForm1"%>
A ToolBox vizuális kontroljait tehát egyszerűen meg kell ragadnunk, és a WebForm-ra húznunk a szerkesztőben. A kontrolok összetett objektumok, melyek a HTML lap betöltődésekor egy HTML kódot írnak a kimenetre, melyeket a kliens-oldali böngésző már értelmezni tud. A mögöttes kód rendszerének segítségével a forráskód-állományainkban objektumorientált módon fejleszthetjük a lap funkcionalitását.
A Webes alkalmazások eseményvezéreltek, vagyis a vizuális kontrolokkal műveletek kezdeményezhetők, melyeket a mögöttes kódban kell megvalósítani. Mivel itt fizikai forráskódról van szó, az alkalmazást le is kell természetesen fordítanunk, melynek eredményeképpen egy DLL jön létre az alkalmazás mappájának \Bin almappájában. Az alkalmazást feltöltve egy Web-szerverre elérhetőek a WebForm-ok, melyekre nevükkel hivatkozhatunk, például a mellékelt példában elhelyezett WebForm1.aspx lapra a következőképpen, feltételezve hogy az alkalmazás most a lokális Web-szerveren fut.
http://localhost/ASPNET01_B/WebForm1.aspx
A lap betöltődésekor a futtatórendszer értelmezi a \bin mappában található DLL-t, és lefuttatja a benne található programkódot. A programkódban – akár csak a Windows-os alkalmazások kódjaiban – az összes .NET Framework névtér és osztály elérhető (kivéve a Windows-os alkalmazásokkal összefüggő, speciális névtereket). Az egyes objektumokhoz itt eseménykezelők rendelhetők, melyekben megadhatjuk az adott esemény bekövetkezésekor futtatandó kódot. Az alkalmazás betöltődésekor például a következőképpen rendelhető kezelő ehhez az eseményhez:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
...
End Sub
A következőkben összefoglaljuk felsorolásszerűen a legfontosabb jellemzőket:
- Az ASP lapok bizonyos módosítások elvégzése után futtathatóak az ASP.NET rendszerben
- A System.Data névtér használatával egyszerűen valósíthatunk meg Webes adatbázis kezelést, tekintet nélkül az adatforrásra
- A lap kontroljai a műveletvégzés során üzeneteket küldenek a szervernek, az alkalmazás magjának, lévén szó szerver-oldali kontrolokról. Az egyes állapotok közötti információ megőrzésről az ASP.NET saját hatáskörben, úgynevezett Session menedzsment rendszerrel gondoskodik.
- A kliensek felöl érkező kérésekre visszaküldendő válasz testre szabható. Erre egyedi HttpModule objektumokat hozhatunk létre.
- Az ASP.NET rendszer saját átmeneti tároló, és optimalizáló képességekkel rendelkezik (Caching)
- A fejlesztett alkalmazások DEBUG módban is futtathatóak, akár a kliens-oldali script-kód tekintetében is, vagyis a hibakeresés egyszerűbb lett
- Nyomkövető rendszer segíti az alkalmazások hibakeresését (Trace System)
- Biztonsági szintek rendelhetők a futó kódhoz, valamint komoly biztonsági mechanizmusok alakíthatók ki az alkalmazások használatával összefüggésben.
- Az alkalmazás a Web.config és a Machine.config állományokkal mind alkalmazás-szinten, mind pedig számítógép-szinten konfigurálhatók.
Az ASp.NET alkalmazásfejlesztés még számos új lehetőségeket hozott a Webes alkalmazás készítés területén, melyek részleteivel a sorozat számaiban megismerkedhetünk.