ASP.NET

ASP.NET yra tinklalapio struktūros technologija, parduodama Microsoft, kurią programuotojai gali naudoti norėdami sukurti dinaminę internetinę svetainę, žiniatinklio konstrukciją arba paslaugą. Tai dalis Microsoft .NET platformos Microsoft, Aktyvių Serverio Puslapių () (ASP.net) technologijos įpėdinis. ASP.NET integruota su bendros kalbos išpildymo aplinka (, trump. CLR), leidžiančia programuotojams rašyti ASP.NET kodą bet kuria Microsoft .NET kalba.

Charakteristika

ASPX rinkmenos formatas 
ASPX yra html rinkmenos formatas, naudojamas sukurti žiniatinklio formos puslapius; programavimo žargonu, ASPX rinkmeną tipiškai sudaro statinio HTML arba XHTML žymą, kaip ir žymos charakterizavimą ASP.NET žiniatinklio valdymu ir ASP.NET vartotojo valdymu, kur vykdytojai patalpina visą reikiamą statinį ir dinaminį turinį žiniatinklio puslapiui. Papildomai, dinaminis kodas, kuris veikia serveryje gali būti patalpinamas ir puslapyje tarp figūrinių skliaustų <% -- dinaminis kodas -- %>, kas yra panašu į kitas žiniatinklio vykdymo technologijas, tokias kaip PHP, JSP, ir ASP, tačiau šiai praktikai nepritaria Microsoft, nebent tai būtų daroma dėl kompiuterių mokslo sąsajos.

Microsoft tai rekomenduoja, kai reikia susidurti su dinaminės programos kodu, naudojant „paslėpto kodo“ modelį, kai kodas yra įdedamas į atskirą rinkmeną ar į specifiškai sukurtą skripto žymą. „Paslėpto kodo“ rinkmenos yra tipiškai pavadinamos ManoPuslapis.aspx.cs ar ManoPuslapis.aspx.vb pagal ASPX rinkmenos vardą (šis būdas yra automatizuotas Microsoft Visual Studio ir kitose integruotose vykdymo aplinkose). Kai programuojant naudojamas šis stilius, vykdytojas rašo kodą, kuris iškart atsako į įvairius įvykius, tokius kaip puslapio atidarymas ar valdymas nuspaudžiant klavišus, negu naršant po šias procedūras per visą dokumentą.

ASPX puslapio pavyzdys 

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToLongDateString();
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Puslapio pavyzdys</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label runat="server" id="Label1" />
    </div>
    </form>
</body>
</html>

Technikos atvaizdavimas 
ASP.NET naudoja aplankyto turinio atvaizdavimo techniką. Per kompiliaciją šablono (.aspx) rinkmena yra surenkama į kodą, kuris sukuria valdymo medį (turinį) atvaizduojantį originalų (statinį) šabloną. Raidinis tekstas eina į raidinio valdymo klasę, o serverio valdymą atstovauja specifinio valdymo klasė. Atvaizdavimo kodas yra sujungiamas su vartotojo parašytu kodu (paprastai, daugeriopų dalinių klasių rinkinio) ir išplaukia į specifinę puslapio klasę. Puslapis dubliuojasi kaip valdymo medžio pagrindinė šaknis.

Konkrečios užklausos puslapiui yra apdorojamos priklausomai nuo žingsnių skaičiaus. Pirmiausiai, per atvaizdavimo žingsnius, sukuriamas atvaizdavimo klases ir kodo vykdymą. Tai parodo pirminį valdymo medį, kuris dabar tipiškai valdomas puslapio metodais sekančiais žingsniais. Kodas gali keisti medžio struktūrą. Galų gale, atvaizdavimo žingsnyje lankytojas panaudoja kiekvieną medžio atšaką, siųsdamas užklausas. Taip HTML kodas yra nusiunčiamas klientui.

Po to, kai užklausa yra apdorojama, tam tikra puslapio klasės užklausa yra atmetama iš bendro valdymo medžio.

Nuorodos 

ASP.NET resursai
 Microsoft oficiali ASP.NET 3.5 svetainė
 ASP.NET pagal MSDN
 ASP.NET vadovėlis ir kodų pavyzdžiai 
 Kas naujo ASP.NET 3.5
 ASP.NET OOP ir Unit testavimas

ASP.NET komandos narių blogai
 Scott Guthrie, vyr.vadybininkas – ScottGu blogas
 Nikhil Kothari, architektas – nikhilk.net
 Brian Goldfarb, produkto vadybininkas – Brian Goldfarb’s blogas
 Shanku Niyogi, produkto Unit vadybininkas – shankun.com 
 Bertrand Le Roy, vykdytojas – Pasakėlės iš blogio imperijos
 Harish Ranganathan, vykdytojas evangelistas – Harish Ranganathan 

Technologija