2012-02-27 64 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。