我的网站是在ASP .NET MVC和SQL Server中完成的。我想在我的电子商务网站中为每个产品的详细信息页面添加一个查看计数器功能,即页面总点击次数。哪种方法是在不影响页面加载当前性能的情况下实现此目的的最佳方式。?
答案 0 :(得分:1)
如果你只是想跟踪你可以做的点击,就像mercsen在他的第二条评论中所说的那样,
如果您想在产品详情页面上显示点击次数,那么您可以编写一个定期取回计数器的ajax请求
答案 1 :(得分:1)
“不影响当前表现......”
因此,我建议使用第三方访问者统计信息计数工具,例如Google分析。
GA中的页面特定统计数据:
http://www.askdavetaylor.com/get_traffic_stats_for_a_specific_page_in_google_analytics.html
另外请看这里;
http://analytics.blogspot.com/2011/09/whats-happening-on-your-site-right-now.html
答案 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();
}