如何跟踪在网站上打开的文档

时间:2012-02-27 14:52:42

标签: asp.net vb.net

我需要跟踪谁在我们的网站上查看文档。我想简单地跟踪文档,用户名和日期/时间。我还希望将文档链接保留为“真实”链接,以便人们可以使用快捷方式或右键单击并在新选项卡中打开。我正在使用带有SQL Server后端的ASP.NET 4.0 Webforms(VB)。

一种方法是创建一个接收文档路径作为查询字符串的asp.net页面。然后在Page_Load上处理日志记录到数据库并打开文档。这是最好的方法吗?这有什么缺点?如果我这样做,Server.Transfer("documentlink")是打开文档的最佳方式吗?

我是否正确假设没有可以在文档打开时捕获的asp.net事件?

1 个答案:

答案 0 :(得分:0)

你有什么样的文件?如果通过ASPX文件加载它们,您可以使用Global.asax文件中的EndRequest事件:

Public Class Global_asax
   Inherits System.Web.HttpApplication

   Sub OnEndRequest() Handles Me.EndRequest
      Dim url As String = HttpContext.Current.Request.Url.AbsolutePath
      ' do some logging here
   End Sub

End Class

默认情况下,IIS不会将ASP.NET逻辑用于非代码文件。您可以在应用程序池配置中启用它,然后ASP.NET将为所有文件提供所有文件,为所有文件启用EndRequest。