用ASP.NET实现Web表单跟踪

ZDNet软件频道 时间:2003-09-02 作者:ZDNet China |  我要评论()
本文关键词:
最近,一个顾客希望网站用户可以实时的查看统计数据。我们的解决方案就是编写代码,使得ASP.NET Web表单把每个请求都记录到数据库。现在让我们看看为何以采用这种方案以及它的实现细节。
本文译自Builder.com,未经许可请勿转载微软公司的Internet消息服务(Internet Information Services,IIS)可以把所有网站请求记录到一个日志文件中去。这些日志文件有许多用处,例如安全、性能、系统管理员进行载入分析以及市场部门进行的来访者浏览分析,不过如果想让Web客户端也能利用这些日志信息的话,开发者还需要作些工作。

最近,一个顾客希望网站用户可以实时的查看统计数据。我们的解决方案就是编写代码,使得ASP.NET Web表单把每个请求都记录到数据库。现在让我们看看为何以采用这种方案以及它的实现细节。

日志的设置

通过配置IIS,可以指定它把哪些信息记录到日志文件。当然,记录的信息越多,要求的磁盘空间也就越大,因此最好只记录我们会用到的信息。A列出了所有可供记录的数据条目,这是从微软IIS文档中摘录下来的。如你所见,每次服务器事务处理都会产生大量的数据,其中很多对最终用户来说基本上没有什么用处(而且最终用户也常常无法理解它们)。非技术用户希望或者需要得到的数据一般不外忽日期、时间、大小、验证码(authenticated identity)以及IP地址和referrer(链接到当前网页的前一个网页)。

A

字段 名称 说明
日期 Date 动作发生时的日期。
时间 Time 动作发生时的时间。
客户IP 地址 c-ip 访问服务器的客户端IP地址。
用户名 cs-username 通过身份验证的访问服务器的用户名。不包括匿名用户,它用连字符表示。
服务名 s-sitename 客户所访问的Internet服务于以及实例号。
服务器名 s-computername 产生日志条目的服务器的名字。
服务器IP 地址 s-ip 产生日志条目的服务器的IP地址。
服务器端口 s-port 客户端连接的端口号。
方法 cs-method 客户端企图执行的动作(例如GET方法)。
URI Stem cs-uri-stem 被访问的资源,例如Default.asp。
URI Query cs-uri-query 客户所执行的查询。
协议状态 sc-status 用HTTP或者FTP术语所描述的动作状态。
Win32状态 sc-win32-status 用Microsoft Windows的术语所描述的动作状态。
发送字节数 sc-bytes 服务器所发送的字节数。
接受字节数 cs-bytes 服务器所接受到的字节数。
花费时间 time-taken 执行动作所消耗的时间,以毫秒为单位。
协议版本 cs-version 客户端所用的协议(HTTP、FTP)版本。对HTTP协议来说是HTTP 1.0或者HTTP 1.1。
主机 cs-host 主机报头(host header)所显示的内容。
用户代理 cs(User-Agent) 客户所用的浏览器。
Cookie cs(Cookie) 发送或者接受到的cookie内容。
Referrer cs(Referer) 用户浏览的前一个网址,当前网址是从该网址链接过来的。

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134