ASP.NET MVC - 检测页面上花费的时间

时间:2010-05-17 23:54:43

标签: c# asp.net-mvc

有没有人知道如何保存以捕获并节省在ASP.NET MVC中在页面上花费的时间?

修改澄清几点:

  1. 本质上系统与产品放置有关。我正在跟踪特定产品的#个观点。但是,为了进一步发展,我希望平均可以看到客户在特定产品页面停留多长时间
  2. 我想在本地保存和存储数据,以便我可以将其与当前捕获的其他数据进行趋势分析 - 我希望尽可能避免使用外部服务。
  3. 我主要担心的是在页面加载时捕获一个事件并在退出时再次捕获 - 这显然很难a)因为ASP.NET MVC没有像vanilla ASP.NET那样丰富/花哨的事件管道而b)它用户可能会关闭浏览器/导航到不同的站点,从而使问题复杂化。
  4. 提前致谢, JP

3 个答案:

答案 0 :(得分:2)

我过去曾做过两种方式

1)

阅读您的iis日志,查看来自同一用户的one.html和two.html请求之间的时间

2)

javascript计数器和onunload函数,它向一些记录时间的服务发送ajax调用

答案 1 :(得分:1)

我猜你可以有一个ajax函数,每隔x秒或几分钟调用一个小包只是sessionId和page / url,在服务器端它会知道将x时间添加到正确的结构结构。

另一种方法可能是拥有一个隐藏字段,该字段具有页面的创建时间戳,然后拦截页面被更改/关闭/导航。离开,然后用时差(或2个值并执行calc服务器端)和页面/网址调用home ...但我认为如果浏览器突然崩溃或通话,你可能无法获取信息丢失了,页面已经改变了。

只是一些建议

答案 2 :(得分:1)

这取决于你可以使用javascript来跟踪时间并在页面上显示它。

如果在服务器上需要并且它在发布的表单上,您可以将时间放入隐藏字段,然后在帖子上您可以提取值并计算差异。

您可以尝试将其存储在Cookie中。每次用户请求新页面时,您都可以提取页面标题和时间戳,然后使用新页面和时间戳设置cookie。

您还可以使用某种商业智能套件。例如OmnitureGoogle Analytics