AspNet.sk     Diskusné fóra     Vitajte v QuickStarts     ASP.NET     Silverlight     Ako môžem...? (en)     Class prehliadač Príklady chcem v ...   
Menu
Skip Navigation Links.
Späť na ASP.NET príručku

ASP.NET QuickStart Príručka

Používanie súboru Global.asax

Okrem písania kódu užívateľského rozhrania môžu vývojári do svojich webových aplikácii pridať taktiež úroveň aplikačnej logiky na úrovni aplikácie a kód spracovávajúci udalosti. Tento kód nespracováva generovanie užívateľského rozhrania a zvyčajne nie je vyvolaný ako odozva k jednotlivým požiadavkám stránky. Namiesto toho je zodpovedný za spracovanie aplikačných udalosti vyššieho stupňa ako Application_Start, Application_End, Session_Start, Session_End, atď. Vývojári autorizujú túto logiku použitím súboru Global.asax umiestneného kmeňovom adresári patričného virtuálneho adresárového stromu webovej aplikácie. ASP.NET automaticky rozoberie a skompiluje tento súbor do dynamickej triedy .NET Frameworku -- ktorá rozširuje základnú triedu HttpApplication -- pri prvom aktivovaní alebo požiadaní o nejaký zdroj alebo URL v rámci aplikácie.

Súbor Global.asax je rozobraný a dynamicky skompilovaný pomocou ASP.NET do triedy .NET Frameworku pri prvom aktivovaní alebo požiadaní o nejaký zdroj alebo URL v rámci aplikácie. Súbor Global.asax je nakonfigurovaný, aby automaticky odmietol každú požiadavku s priamou URL požiadavkou, aby si nemohli používatelia stiahnuť alebo pozrieť kód vo vnútri súboru.

Udalosti na úrovni Aplikácie alebo Session

Vývojári môžu definovať handlery pre události základnej triedy HttpApplication vytvorením metód v súbore Global.asax, ktoré musia mať pomenovanie "Application_EventName(AppropriateEventArgumentSignature)". Napríklad:


<script language="VB" runat="server">

Sub Application_Start(Sender As Object, E As EventArgs)
  ' Application startup code goes here
End Sub
</script>
VB

Ak kód spracovávajúci udalosti potrebuje importovať ďalšie namespace-y, môže byť na stránke aspx následovne použitá direktíva @ import:
<%@ Import Namespace="System.Text" %>
Nasledujúca ukážka načrtáva životný cyklus aplikácie, session a požiadavky.

VB Global.asax
Run Sample View Source

Pri prvom otvorení stránky je pre aplikáciu a session vyvolaná udalosť Start:


Sub Application_Start(Sender As Object, E As EventArgs)
  ' Application startup code goes here
End Sub

Sub Session_Start(Sender As Object, E As EventArgs)
  Response.Write("Session is Starting...<br>")
  Session.Timeout = 1
End Sub
VB

Udalosti BeginRequest a EndRequest sú vyvolané pri každej požiadavke. Keď je stránka obnovená, zobrazia sa iba správy z metód BeginRequest, EndRequest a Page_Load. Všimnite si, že po prerušení aktuálnej session (stlačte tlačidlo "End this session") je vytvorená nová session a opäť je vyvolaná udalosť Session_Start.

Objekty na úrovni Aplikácie a Session

Statické objekty, .NET Framework triedy a COM komponenty, všetky môžu byť definované v súbore Global.asax použitím tagu object. Scope môže byť appinstance, session, alebo application. appinstance scope znamená, že objekt je špecifický pre jednu inštanciu HttpApplication a nie je zdieľaný.
<object id="id" runat="server" class=".NET Framework class Name" scope="appinstance"/>
<object id="id" runat="server" progid="COM ProgID" scope="session"/>
<object id="id" runat="server" classid="COM ClassID" scope="application"/>
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.