Dolazi ASP.NET (I deo)

Ponekad Microsoft menja nazive tehnologijama koje je sam razvio, ali ne menja i samu tehnologiju. Pre nekoliko godina je ta kompanija, na primer, preimenovala „OLE“ u „ActiveX“, pri čemu je suština vrlo malo izmenjena. U drugim situacijama, Microsoft je ostavljao nazive manje ili više istim, dok je u isto vreme radikalno izmenio identitet date tehnologije. Upravo je ASP.NET blistav primer ovog drugog fenomena. Iako naziv zvuči prepoznatljivo, u biti je mnogo drugačiji od obične ASP tehnologije.

Najbolji način da uvidite šta ovo znači jeste opis toga šta se dešava kada ASP.NET stranici pristupite iz browser-a. Ovu priču ćemo ilustrovati jednostavnom .aspx stranicom ASP.NET ekvivalentom poznatoj .asp stranici:


<html>
<script runat="server"
language="vb">
Sub PrikaziBrojeve()
Dim br As Integer
For br = 0 To 5
Response.Write(br)
Next
End Sub
</script>
Datum i vreme: <% =Now() %>
<hr>
Brojke: <% PrikaziBrojeve() %>
</html>

Kao i tradicionalne ASP stranice, ASP.NET (.aspx) stranice mogu da sadrže HTML, plain tekst i kôd isprepletan bilo putem <script> taga ili „<% . . . %>“. U stvari, stranica iz primera najviše liči na običnu .asp stranicu: oslobodite se DIM deklaracije, promenite deklaraciju jezika u „vbscript“, i sve će biti po tradicionalnom ASP-u. Ali ono što se dešava kada ovu stranicu izvršimo ASP.NET-om, veoma je različito u odnosu na izvršenje u ASP okruženju.

Ako bi ova stranica bila procesirana kao ASP stranica, kôd koji sadrži bio bi interpretiran od strane servera, a izlaz koji se generiše bio bi ubačen u tok podataka poslat ka browser-u. Tekst i HTML na stranici bili bi direktno, nepromenjeni, prosleđeni browser-u.

Pristupanjem stranici iz primera preko ASP.NET-a rezultiralo bi kompletno različitim procesom izvršavanja. ASP.NET aplikacije pripadaju .NET Framework aplikacijama, što znači da su zasnovane na Common Language Runtime (CLR). Zbog ovoga, svaka .aspx stranica se automatski prebacuje u klasu i to kada joj pristupi prvi klijent. Ovakva nova klasa je naslednik standardne Page klase iz .NET Framework biblioteke klasa, a različiti segmenti sadržaja .aspx stranice umetnuti su na različita mesta unutar ove klase. Na primer, bilo koji kôd sadržan unutar <script> elemenata ubačen je u klasu samostalno. U našem slučaju, jednostavna funkcija „PrikaziBrojeve“ postaje metoda u generisanoj klasi. Ostatak ove stranice, uključujući tu i tekst, HTML tagove, i kôd između elemenata <% . . . %>, smešta se u jednu metodu nazvanu Render, i to u istu klasu. Potom se ova nova klasa kompajlira i pakuje u jedan skup (assembly), tj. kontejner koji .NET koristi za skladištenje kompajliranog kôda. Jednom kada je ovaj assembly kreiran, koristiće se za upravljanje svim budućim zahtevima za ovom stranicom. Ukoliko ovu stranicu izmenimo, proces se ponovo odigrava i generiše se novi assembly.

Pratite Krstaricu na www.krstarica.com