跟踪每个网页的用户访问量

时间:2009-10-28 15:21:36

标签: asp.net session

我的网站中有不同的模块,需要跟踪用户访问每个标签或模块的次数。目前,我正在使用Session变量来存储值,并在页面的page_load事件上每次访问时递增计数器,并在Session_End事件上加载数据库中的所有内容。当用户从应用程序注销时,这似乎有效。但是当用户关闭浏览器或重定向到其他站点时,它似乎不起作用。我认为即使浏览器关闭,Session_End事件也会在会话超时后触发,无论如何,但它似乎没有这样做。任何人都可以建议一个解决方案来实现这个吗?

感谢。

3 个答案:

答案 0 :(得分:0)

当会话到期时,Session_End事件应该触发,这将是用户上次向服务器发出请求后的一段时间。

请记住,服务器无法知道浏览器何时关闭。 (除非您在onbeforeunload

中发送AJAX请求

答案 1 :(得分:0)

我处理这个问题的方法是使用自定义Profile对象。并且,直接与您的情况相关(使用个人资料与会话),here是一篇很棒的文章。稍加修改,您就可以使用该代码来跟踪正在查看页面的页面查看。如果您想使用通用列表将其存储在个人资料中,请参阅有关主题的my blog post

答案 2 :(得分:0)

只是一个想法,

  

您可以创建一个由客户端代码调用的Web服务   用户尝试关闭浏览器。如果他点击“是”,您可以显示确认,您可以更新您的数据库,将用户标记为已注销&关闭浏览器。