HTML页面的ASP服务器统计信息

时间:2012-03-20 11:44:30

标签: asp.net html statistics

我正在使用ASP.NET 4.0运行一个网站。

网站的CMS部分由简单的“.HTML”页面组成,而不是“.aspx”。

问题:除了使用awStats之外,还有一种简单的方法来计算每个页面被“服务”的次数吗?

1 个答案:

答案 0 :(得分:5)

创建一个ashx处理程序,该处理程序返回一个空的1x1像素图像,并从这些页面的底部调用它作为图像,其中包含一些参数,如页面名称或此页面的ID。

在此处理程序中保存页面调用的统计信息。

你称它的方式就像一个图像,例如

<img src="keepstats.ashx?mypageinfo.html" height="1" width="1" alt="" >

并将其放置在不影响页面呈现的位置,当浏览器呈现页面时,也会加载此图像/处理程序并保存统计信息。我将高度和宽度设置为1x1,以避免浏览器无法加载它。

为了使它更好,这里是处理程序的代码。

// 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);
}

请注意缓存,将此缓存设置为无图像。