通过


示例:Web 分析跟踪模块

作者:Ruslan Yakushev

Web 分析是当今流行的技术领域。 其用途是为网站所有者提供有关其站点访问者的统计信息,以便站点发布者优化内容、广告和服务提供方式,从而提高客户满意度和 ROI。

Web 分析服务已经存在了一段时间,但在 Google 向所有人免费提供其分析服务后变得非常受欢迎。 现在,任何站点所有者(从个人爱好者到大型商业门户)都可以访问免费且功能丰富的 Web 分析服务。 Microsoft 还提供免费的 Web 分析服务,该服务作为 Microsoft AdCenter 的一部分提供。

IIS 的 Web 分析模块允许网站发布者轻松启用对其网站的基本 Web 分析跟踪,而无需接触实际的 Web 应用程序代码。

示例的源代码在此处提供。

当前 Web 分析服务的问题

Web 分析服务的基本用途是收集有关网站访问者的数据,然后处理这些数据并以一种美观、易于理解的形式将其呈现给站点所有者。 为了收集数据,网站所有者必须使用 Web 分析服务提供商发布的跟踪脚本来检测其网站上的所有页面:

Google Analytics 网页的屏幕截图,其中包含跟踪脚本。

要求用户这样做的主要难题是可能需要大量的工作来修改所有网页。 在某些情况下,可以通过使用模板和母版页来缓解这种情况,但在许多情况下,用户仍然需要浏览 html 页面并在每个文档的末尾添加跟踪脚本。

Web 分析模块的优点和功能

IIS 的 Web 分析模块会尝试通过允许用户将跟踪逻辑与实际网站实现分离来解决上述问题。 现在,用户无需修改网站页面,只需配置 IIS 设置,跟踪脚本就会自动插入到其网站生成的所有 html 响应中。 该模块的主要好处是让 Web 分析检测变得非常容易。 另一个好处是用户可以轻松打开/关闭分析跟踪,这对于开发/测试方案非常有用。

Web 分析模块示例演示以下内容:

  • 如何实现一个将跟踪脚本插入到 HTTP 响应中的 .NET 模块。
  • 如何扩展 IIS 配置并为 IIS 管理器中的模块提供 UI。 使用模块 UI 和配置,用户可以指定跟踪脚本并启用/禁用 Web 分析跟踪。 此外,用户还可以选择跟踪代码的放置位置(HTML 文档的 <head> 或 <body> 元素)。

模块安装

若要开始使用模块,请先从此 Visual Studio 解决方案对其进行编译。 可以使用 VS 2005、VS 2008 或 Visual C# Express 2005 和 2008 来编译此解决方案。 还可以在 bin\release 文件夹中使用预编译版本。

若要安装模块,请执行以下步骤:

  1. 将 WebAnalyticsModule.dll 复制到网站或应用程序内的 bin 文件夹

  2. 将 WebAnalytics_schema.xml 复制到 %windir%\system32\inetsrv\config\schema 文件夹。

  3. 将以下内容添加到 %windir%\system32\inetsrv\config\applicationhost.config 文件中:在“system.webServer”的 sectionGroup 中,添加节定义:<section name="webAnalytics" overrideModeDefault="Allow">

  4. 通过打开相应的 web.config 文件并将以下节添加到 <system.webServer> 元素,将模块添加到网站或应用程序:

    <modules>
        <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsHttpModule" />
    </modules>
    
  5. 接下来,使用 gacutil 工具将模块放入全局程序集缓存中,以便 IIS 管理器可以使用它们:

    gacutil -if WebAnalyticsModule.dll
    
  6. 将模块添加到 %windir%\system32\inetsrv\config\administration.config 文件中的 IIS 管理器配置:

    • 在 <moduleProviders> 集合中,添加以下条目:

      <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsProvider, WebAnalyticsModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c6b7132bcfe43312" />
      
    • 将以下行添加到 <modules> 集合中:

      <add name="WebAnalytics" />
      
  7. 打开 IIS 管理器。 你应该会在网站或应用程序的功能视图中看到“Web 分析跟踪”图标。

模块演练

安装模块后,你会在主 IIS 控制面板中看到 Web 分析配置。 将会在站点和应用程序级别提供它。I S 控制面板中显示的 Web Analytics 配置的屏幕截图。

Web 分析模块的配置 UI 如下所示:

Web Analytics 跟踪配置对话框的屏幕截图,其中填充了字段的跟踪脚本。

配置模块后,我们可以通过使用 WFetch 从服务器请求网页来了解其工作原理。 Web 服务器的输出在 <body /> 结束标记之前包含跟踪脚本:W Fetch U I 的屏幕截图,其中显示了 Web 服务器的输出和填充日志输出字段的跟踪脚本。