<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FASP.Net_Instroduction%2FGlobal.asax</id>
		<title>ASP.NET Tutorial/ASP.Net Instroduction/Global.asax - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FASP.Net_Instroduction%2FGlobal.asax"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/ASP.Net_Instroduction/Global.asax&amp;action=history"/>
		<updated>2026-04-29T21:19:41Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/ASP.Net_Instroduction/Global.asax&amp;diff=3089&amp;oldid=prev</id>
		<title> в 15:30, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/ASP.Net_Instroduction/Global.asax&amp;diff=3089&amp;oldid=prev"/>
				<updated>2010-05-26T15:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:30, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/ASP.Net_Instroduction/Global.asax&amp;diff=3090&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/ASP.Net_Instroduction/Global.asax&amp;diff=3090&amp;oldid=prev"/>
				<updated>2010-05-26T11:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Appication level event handlers in global.asax==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;VB&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
   Sub Application_Start(Sender as Object, e as EventArgs)&lt;br /&gt;
      Application(&amp;quot;Time&amp;quot;) = System.DateTime.Now&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_AcquireRequestState(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Acquiring request session state&amp;quot; &amp;amp; &amp;quot;...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_AuthenticateRequest(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Authenticating request...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_AuthorizeRequest(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Authorizing request...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_PostRequestHandlerExecute(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Request handler executed...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_PreRequestHandlerExecute(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Request handler executed...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_PreSendRequestContent(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Receiving request content...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_PreSendRequestHeaders(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Receiving request headers...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_ReleaseRequestState(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Releasing request state...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_ResolveRequestCache(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Resolving request cache...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_UpdateRequestCache(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Updating request cache...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_Error(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(Sender.Request.isAuthenticated &amp;amp; &amp;quot; is authenticating request...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Session_Start(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Session is starting...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_BeginRequest(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;&amp;lt;b&amp;gt;Process&amp;lt;/b&amp;gt;&amp;quot;)&lt;br /&gt;
      Response.Write(&amp;quot;Request is starting...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
   Sub Application_EndRequest(Sender as Object, e as EventArgs)&lt;br /&gt;
      Response.Write(&amp;quot;Request is ending...&amp;lt;br&amp;gt;&amp;quot;)&lt;br /&gt;
   End Sub&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Application level action sequence==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    void Application_Start(Object sender, EventArgs e) {&lt;br /&gt;
    }&lt;br /&gt;
    protected void Application_OnEndRequest()&lt;br /&gt;
    {&lt;br /&gt;
        Response.Write(&amp;quot;&amp;lt;hr&amp;gt;This page was served at &amp;quot; +DateTime.Now.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    protected void Application_Error(Object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        Response.Write(&amp;quot;&amp;lt;font face=\&amp;quot;Tahoma\&amp;quot; size=\&amp;quot;2\&amp;quot; color=\&amp;quot;red\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        Response.Write(&amp;quot;Oops! Looks like an error occurred!!&amp;lt;hr&amp;gt;&amp;lt;/font&amp;gt;&amp;quot;);&lt;br /&gt;
        Response.Write(&amp;quot;&amp;lt;font face=\&amp;quot;Arial\&amp;quot; size=\&amp;quot;2\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
        Response.Write(Server.GetLastError().Message.ToString());&lt;br /&gt;
        Response.Write(&amp;quot;&amp;lt;hr&amp;gt;&amp;quot; + Server.GetLastError().ToString());&lt;br /&gt;
        Server.ClearError();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    void Session_Start(Object sender, EventArgs e) {&lt;br /&gt;
    }&lt;br /&gt;
    void Session_End(Object sender, EventArgs e) {&lt;br /&gt;
    }&lt;br /&gt;
       &lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Global application file. (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Use this file to define global variables.&lt;br /&gt;
React to global events (such as when a web application first starts).&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    protected void Application_OnEndRequest()&lt;br /&gt;
    {&lt;br /&gt;
        Response.Write(&amp;quot;&amp;lt;hr&amp;gt;This page was served at &amp;quot; + &lt;br /&gt;
         DateTime.Now.ToString());&lt;br /&gt;
    }&lt;br /&gt;
       &lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Global.asax file can be used to track the number of page requests made for any page.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
File: Global.asax&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data.SqlClient&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Web.Configuration&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    private string _conString;&lt;br /&gt;
    private SqlConnection _con;&lt;br /&gt;
    private SqlCommand _cmdSelect;&lt;br /&gt;
    private SqlCommand _cmdInsert;&lt;br /&gt;
    public override void Init()&lt;br /&gt;
    {&lt;br /&gt;
        _conString = WebConfigurationManager.ConnectionStrings[&amp;quot;Log&amp;quot;]. ConnectionString;&lt;br /&gt;
        _con = new SqlConnection(_conString);&lt;br /&gt;
        _cmdSelect = new SqlCommand(&amp;quot;SELECT COUNT(*) FROM Log WHERE Path=@Path&amp;quot;, _con);&lt;br /&gt;
        _cmdSelect.Parameters.Add(&amp;quot;@Path&amp;quot;, SqlDbType.NVarChar, 500);&lt;br /&gt;
        _cmdInsert = new SqlCommand(&amp;quot;INSERT Log (Path) VALUES (@Path)&amp;quot;, _con);&lt;br /&gt;
        _cmdInsert.Parameters.Add(&amp;quot;@Path&amp;quot;, SqlDbType.NVarChar, 500);&lt;br /&gt;
    }&lt;br /&gt;
    public int NumberOfRequests&lt;br /&gt;
    {&lt;br /&gt;
        get&lt;br /&gt;
        {           &lt;br /&gt;
           int result = 0;&lt;br /&gt;
           _cmdSelect.Parameters[&amp;quot;@Path&amp;quot;].Value = Request. AppRelativeCurrentExecutionFilePath;&lt;br /&gt;
           try&lt;br /&gt;
           {&lt;br /&gt;
               _con.Open();&lt;br /&gt;
               result = (int)_cmdSelect.ExecuteScalar();&lt;br /&gt;
           }&lt;br /&gt;
           finally&lt;br /&gt;
           {&lt;br /&gt;
               _con.Close();&lt;br /&gt;
           }&lt;br /&gt;
           return result;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    void Application_BeginRequest(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        _cmdInsert.Parameters[&amp;quot;@Path&amp;quot;].Value = Request. AppRelativeCurrentExecutionFilePath;&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            _con.Open();&lt;br /&gt;
            _cmdInsert.ExecuteNonQuery();&lt;br /&gt;
        }&lt;br /&gt;
        finally&lt;br /&gt;
        {&lt;br /&gt;
            _con.Close();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Log exception in Global.asax (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.SessionState;&lt;br /&gt;
namespace MyApp&lt;br /&gt;
{&lt;br /&gt;
  public class Global : System.Web.HttpApplication&lt;br /&gt;
  {&lt;br /&gt;
    protected void Application_Error(Object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      System.Diagnostics.EventLog myEventLog;&lt;br /&gt;
      Exception ex=Server.GetLastError();&lt;br /&gt;
      myEventLog=new System.Diagnostics.EventLog();&lt;br /&gt;
      myEventLog.Log=&amp;quot;Application&amp;quot;;&lt;br /&gt;
      myEventLog.Source=&amp;quot;Default&amp;quot;;&lt;br /&gt;
      myEventLog.WriteEntry(ex.ToString());&lt;br /&gt;
      myEventLog=null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Log exception in Global.asax (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.Web&lt;br /&gt;
Imports System.Web.SessionState&lt;br /&gt;
Public Class Global Inherits System.Web.HttpApplication&lt;br /&gt;
    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        Dim myEventLog As System.Diagnostics.EventLog&lt;br /&gt;
        Dim ex As Exception = Server.GetLastError()&lt;br /&gt;
        myEventLog = New System.Diagnostics.EventLog()&lt;br /&gt;
        myEventLog.Log = &amp;quot;Application&amp;quot;&lt;br /&gt;
        myEventLog.Source = &amp;quot;Default&amp;quot;&lt;br /&gt;
        myEventLog.WriteEntry(ex.ToString())&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Override string GetVaryByCustomString in Global.asax (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    public override string GetVaryByCustomString(HttpContext context, string arg)&lt;br /&gt;
    {&lt;br /&gt;
        if (arg.ToLower() == &amp;quot;prefs &amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            HttpCookie cookie = context.Request.Cookies[&amp;quot;Language&amp;quot;];&lt;br /&gt;
            if (cookie != null)&lt;br /&gt;
            {&lt;br /&gt;
                return cookie.Value;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return base.GetVaryByCustomString(context, arg);&lt;br /&gt;
    }&lt;br /&gt;
    void Application_Start(object sender, EventArgs e) &lt;br /&gt;
    {&lt;br /&gt;
        // Code that runs on application startup&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    void Application_End(object sender, EventArgs e) &lt;br /&gt;
    {&lt;br /&gt;
        //  Code that runs on application shutdown&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
    void Application_Error(object sender, EventArgs e) &lt;br /&gt;
    { &lt;br /&gt;
        // Code that runs when an unhandled error occurs&lt;br /&gt;
    }&lt;br /&gt;
    void Session_Start(object sender, EventArgs e) &lt;br /&gt;
    {&lt;br /&gt;
        // Code that runs when a new session is started&lt;br /&gt;
    }&lt;br /&gt;
    void Session_End(object sender, EventArgs e) &lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
       &lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Override string GetVaryByCustomString in Global.asax (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;VB&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    Overrides Function GetVaryByCustomString(ByVal context As HttpContext, _&lt;br /&gt;
            ByVal arg As String) As String&lt;br /&gt;
        If arg.ToLower() = &amp;quot;prefs&amp;quot; Then&lt;br /&gt;
            Dim cookie As HttpCookie = context.Request.Cookies(&amp;quot;Language&amp;quot;)&lt;br /&gt;
            If cookie IsNot Nothing Then&lt;br /&gt;
                Return cookie.Value&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        Return MyBase.GetVaryByCustomString(context, arg)&lt;br /&gt;
    End Function&lt;br /&gt;
    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        &amp;quot; Code that runs on application startup&lt;br /&gt;
    End Sub&lt;br /&gt;
    &lt;br /&gt;
    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        &amp;quot; Code that runs on application shutdown&lt;br /&gt;
    End Sub&lt;br /&gt;
        &lt;br /&gt;
    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        &amp;quot; Code that runs when an unhandled error occurs&lt;br /&gt;
    End Sub&lt;br /&gt;
    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        &amp;quot; Code that runs when a new session is started&lt;br /&gt;
    End Sub&lt;br /&gt;
    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)&lt;br /&gt;
        &amp;quot; Code that runs when a session ends. &lt;br /&gt;
        &amp;quot; Note: The Session_End event is raised only when the sessionstate mode&lt;br /&gt;
        &amp;quot; is set to InProc in the Web.config file. If session mode is set to StateServer &lt;br /&gt;
        &amp;quot; or SQLServer, the event is not raised.&lt;br /&gt;
    End Sub&lt;br /&gt;
       &lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Some events don&amp;quot;t fire with every request:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Start() is invoked when the application first starts up.&lt;br /&gt;
Start() is invoked each time a new session begins. &lt;br /&gt;
Error() is invoked whenever an unhandled exception occurs in the application.&lt;br /&gt;
End() is invoked whenever the user&amp;quot;s session ends. &lt;br /&gt;
End() is invoked just before an application ends. &lt;br /&gt;
Disposed() is invoked after the application has been shut down.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Static application variables==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
File: Global.asax&lt;br /&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; ClassName=&amp;quot;Global&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.IO&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Collections.Generic&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    private static string[] fileList;&lt;br /&gt;
    public static string[] FileList&lt;br /&gt;
    {&lt;br /&gt;
        get&lt;br /&gt;
        {&lt;br /&gt;
            if (fileList == null)&lt;br /&gt;
            {&lt;br /&gt;
                fileList = Directory.GetFiles(HttpContext.Current.Request.PhysicalApplicationPath);&lt;br /&gt;
            }&lt;br /&gt;
            return fileList;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static Dictionary&amp;lt;string, string&amp;gt; metadata = new Dictionary&amp;lt;string, string&amp;gt;();&lt;br /&gt;
    public void AddMetadata(string key, string value)&lt;br /&gt;
    {&lt;br /&gt;
        lock (metadata)&lt;br /&gt;
        {&lt;br /&gt;
            metadata[key] = value;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public string GetMetadata(string key)&lt;br /&gt;
    {&lt;br /&gt;
        lock (metadata)&lt;br /&gt;
        {&lt;br /&gt;
            return metadata[key];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Default.aspx&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;StaticApplicationVariables&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.1//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label ID=&amp;quot;lblInfo&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.cs&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Security;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.WebControls.WebParts;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using ASP;&lt;br /&gt;
public partial class StaticApplicationVariables : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
    StringBuilder builder = new StringBuilder();&lt;br /&gt;
    foreach (string file in Global.FileList)&lt;br /&gt;
    {&lt;br /&gt;
      builder.Append(file + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    lblInfo.Text = builder.ToString();&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The global.asax Application File==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
The global application class that&amp;quot;s used by the global.asax file should always be stateless.&lt;br /&gt;
You can handle two types of events in the global.asax file:&lt;br /&gt;
Events that always occur for every request. &lt;br /&gt;
Events that occur only under certain conditions.&lt;br /&gt;
BeginRequest() called at the start of every request, including requests for files that aren&amp;quot;t web forms.&lt;br /&gt;
AuthenticateRequest() called before authentication is performed. &lt;br /&gt;
AuthorizeRequest() assigns special privileges.&lt;br /&gt;
ResolveRequestCache() is used in conjunction with output caching. &lt;br /&gt;
AcquireRequestState() is called before session-specific information is retrieved for the client.&lt;br /&gt;
PreRequestHandlerExecute() is called before the appropriate HTTP handler executes the request.&lt;br /&gt;
PostRequestHandlerExecute() is called just after the request is handled.&lt;br /&gt;
ReleaseRequestState() is called when the session-specific information is about to be serialized from the Session collection.&lt;br /&gt;
UpdateRequestCache() is called before information is added to the output cache. &lt;br /&gt;
EndRequest() is called at the end of the request.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>