Global.asax file can be used to track the number of page requests made for any page. : Global.asax « ASP.Net Instroduction « ASP.NET Tutorial






File: Global.asax

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Configuration" %>
<script runat="server">

    private string _conString;
    private SqlConnection _con;
    private SqlCommand _cmdSelect;
    private SqlCommand _cmdInsert;

    public override void Init()
    {
        _conString = WebConfigurationManager.ConnectionStrings["Log"]. ConnectionString;
        _con = new SqlConnection(_conString);

        _cmdSelect = new SqlCommand("SELECT COUNT(*) FROM Log WHERE Path=@Path", _con);
        _cmdSelect.Parameters.Add("@Path", SqlDbType.NVarChar, 500);

        _cmdInsert = new SqlCommand("INSERT Log (Path) VALUES (@Path)", _con);
        _cmdInsert.Parameters.Add("@Path", SqlDbType.NVarChar, 500);
    }

    public int NumberOfRequests
    {
        get
        {           
           int result = 0;
           _cmdSelect.Parameters["@Path"].Value = Request. AppRelativeCurrentExecutionFilePath;
           try
           {
               _con.Open();
               result = (int)_cmdSelect.ExecuteScalar();
           }
           finally
           {
               _con.Close();
           }
           return result;
        }
    }

    void Application_BeginRequest(object sender, EventArgs e)
    {
        _cmdInsert.Parameters["@Path"].Value = Request. AppRelativeCurrentExecutionFilePath;
        try
        {
            _con.Open();
            _cmdInsert.ExecuteNonQuery();
        }
        finally
        {
            _con.Close();
        }
    }
</script>








1.6.Global.asax
1.6.1.The global.asax Application File
1.6.2.Some events don't fire with every request:
1.6.3.Global application file. (C#)
1.6.4.Appication level event handlers in global.asax
1.6.5.Global.asax file can be used to track the number of page requests made for any page.
1.6.6.Application level action sequence
1.6.7.Static application variables
1.6.8.Override string GetVaryByCustomString in Global.asax (C#)
1.6.9.Override string GetVaryByCustomString in Global.asax (VB)
1.6.10.Log exception in Global.asax (C#)
1.6.11.Log exception in Global.asax (VB)