页面视图数 - 查看计数器

时间:2013-07-31 05:29:06

标签: jquery asp.net asp.net-mvc performance web

我的网站是在ASP .NET MVC和SQL Server中完成的。我想在我的电子商务网站中为每个产品的详细信息页面添加一个查看计数器功能,即页面总点击次数。哪种方法是在不影响页面加载当前性能的情况下实现此目的的最佳方式。?

3 个答案:

答案 0 :(得分:1)

如果你只是想跟踪你可以做的点击,就像mercsen在他的第二条评论中所说的那样,

如果您想在产品详情页面上显示点击次数,那么您可以编写一个定期取回计数器的ajax请求

答案 1 :(得分:1)

答案 2 :(得分:0)

使用cookie:

var productId = 1;

if (Request.Cookies["ViewedPage"] != null)
{
    if (Request.Cookies["ViewedPage"][string.Format("pId_{0}",productId )] == null)
    {
        HttpCookie cookie = (HttpCookie)Request.Cookies["ViewedPage"];
        cookie[string.Format("pId_{0}",productId )] = "1";
        cookie.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(cookie); 

        db.Execute("UPDATE Products SET ViewCount = ViewCount + 1 WHERE ProductId = @id", new { id = productId } ); 
        db.SaveChanges();
    }
}
else
{
    HttpCookie cookie = new HttpCookie("ViewedPage");
    cookie[string.Format("pId_{0}",productId )] = "1";
    cookie.Expires = DateTime.Now.AddDays(1);
    Response.Cookies.Add(cookie); 

    db.Execute("UPDATE Products SET ViewCount = ViewCount + 1 WHERE ProductId = @id", new { id = productId } ); 
    db.SaveChanges();
}