Statistiche del server ASP per pagine html

Sto eseguendo un sito Web con ASP.NET 4.0.

La parte CMS del sito Web è costituita da semplici pagine “.HTML”, non “.aspx”.

Domanda: a parte l’uso di awStats, c’è un modo semplice per contare quante volte ogni pagina è stata “servita”?

Crea un gestore ashx che restituisca un’immagine pixel 1×1 vuota e chiamala dalla parte inferiore di tali pagine come immagine con alcuni parametri come il nome della pagina o l’id di questa pagina.

All’interno di questo gestore si salvano le statistiche della chiamata di pagina.

Il modo in cui lo chiami è come un’immagine, ad es

  

e posizionarlo da qualche parte che non influisce sul rendering della pagina, e quando il browser esegue il rendering della pagina carica anche questa immagine / gestore e si salvano le statistiche. Lascio l’altezza e la larghezza a 1×1 per evitare che il browser non la carichi.

Per renderlo ancora più bello, ecco il codice per il gestore.

 // 1x1 transparent GIF private readonly byte[] GifData = { 0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b }; public void ProcessRequest (HttpContext context) { // save here your stat // send the image context.Response.ContentType = "image/gif"; context.Response.Buffer = false; context.Response.OutputStream.Write(GifData, 0, GifData.Length); } 

Presta solo attenzione alla cache, imposta la cache su none per questa immagine.