Veldig enkel teller i ASP.NET uten database

Dette er et eksempel på hvordan du kan lage en veldig enkel teller med ASP.NET (C#) uten å bruke database. Legge inn følgende kode i global.asax og sørg for at ASPNET har skrivetilgang til mappen “/App_Data” (det er standard at ASPNET har det)

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string[] scriptName = Request.RawUrl.Split('?');

    // Sjekker at vi ikke logger annet enn filer som slutter med ".aspx"
    if (scriptName[0].ToString().ToLower().EndsWith(".aspx"))
    {
        // Leser av counter-verdien fra application-variabel
        int currentCount = Convert.ToInt32(Application["counter"]);

        // Hvis den er 3 så lagrer vi verdien i tekstfilen
        // Grunnen til at dette bør gjøres er for at man ikke skal skrive
        // til filen for ofte (ytelse)
        if (currentCount == 3)
        {
            // Skriver til fil og setter ny verdi til 0 (restart)
            IncreaseCounterFile(3);
            currentCount = 0;
        }
        else
        {
            // øker telleren med 1
            currentCount++;
        }

        // Setter verdien i application-variabelen
        Application.Lock();
        Application["counter"] = currentCount.ToString();
        Application.UnLock();
    }
}

// Metode som øker tallet i "telle-filen" med x
private void IncreaseCounterFile(int num)
{
    string counterFile = Server.MapPath("/") + "App_Data/counter.txt";
    System.IO.File.WriteAllText(counterFile, (CurrentCount() + num).ToString());
}

// Funksjon som leser av verdien i "telle-filen"
private int CurrentCount()
{
    string counterFile = Server.MapPath("/") + "App_Data/counter.txt";
    return Convert.ToInt32(System.IO.File.ReadAllText(counterFile));
}