2012-02-27 67 views
0

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

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

我正确地认为没有可以捕获文档打开时的asp.net事件吗?

+0

您可以解析访问日志,它记录了这些文档上的所有命中。 – 2012-02-27 14:56:59

+0

它会与链接关联吗?如果是这样,使用LinkBut​​ton并跟踪文档点击然后重定向到文档(如果它不是图像将在浏览器中下载)。 – ThePower 2012-02-27 15:00:00

+0

@MarcB你说什么访问日志? IIS?我会怎么做呢? – scojomodena 2012-02-27 15:02:50

回答

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。