ASP.Net网站分析 - 要捕获哪些数据?

时间:2013-05-28 22:13:19

标签: asp.net sql-server

我希望在ASP.Net中捕获一组数据并将其发送到服务进行处理。首先,我只对HttpRequest类可用的少量数据感兴趣。例如:IP地址,URL等我首先想到的是将这些特定值发送到服务进行处理。这将全部存储在SQL Server数据库中。

但是,我开始考虑“未来证明”的方法,并开始考虑捕获所有Headers的想法,并将它们保存为名称/值对。我很快意识到访问ServerVariables也可能很方便。例如,如果使用URL Rewrite,我会访问HTTP_X_ORIGINAL_URL以确定浏览器中的URL。如果我没想过要先捕获这个值,我将无法返回并重新处理数据。

正如您所看到的,最初作为相对少量的数据开始变得比我预期的要多得多。这些网站的流量相对较少,因此如果必须的话,我可能会为所有请求保存ServerVariables,但这似乎有些过分。

我知道像Google Analytics这样的服务提供了所有这些以及更多功能,但我的一个重要要求是将此数据与严格违反Google服务条款的经过身份验证的用户相关联。

是否有人就如何手动推出自己的分析服务提出建议?我可能需要访问ServerVariables以外的数据吗?

感谢任何帮助:)

1 个答案:

答案 0 :(得分:2)

您需要问自己的主要问题是此额外日志记录的目标是什么?

如果要向销售人员提供额外的数据,那么您很可能需要非常少量的数据(访问过哪些页面以及何时访问)

如果目的是提高性能,那么它就是其他一些参数。

但你需要从结果开始。

我正在开发一个需要实施类似系统的项目。网站基于一个主要母版页和其他子页面。我拿了主页面的Page_Load并在那里添加了所有逻辑。

我会为访问者设置一个数据库表(跟踪ID,引用网站,创建日期,身份验证ID,以及更多)每个页面访问一个表(整页网址(带查询字符串,短页面网址,访问时间)还有两个额外的表格可以帮助我们从营销角度评估每个页面的访问量是多少。

我会避免解析日志文件,因为它们包含所有请求的信息(例如请求图像,javascript文件,视频等)。此外,默认情况下,日志文件不包含可用于将活动与经过身份验证的用户关联的任何登录信息。