2009-01-25 106 views
4

在ASP.NET MVC網站上,實現訪問日誌記錄的最佳方式是什麼?我想回答以下問題:ASP.NET MVC:訪問日誌

  1. 什麼是最受歡迎的頁面?
  2. 過去24小時內訪問過哪些頁面?

登錄到服務器使用遠程桌面,並捅了IIS日誌我自己(甚至使用Microsoft日誌文件分析器),但我希望能夠運行從報告我的網站的管理頁面。

這樣做的最好方法是什麼?我應該:

  1. 添加跟蹤到我所有的控制器方法?
  2. 添加一個IHttpFilter(或其他),並有記錄?
  3. 配置IIS(Windows 2008上的IIS7)登錄到我的數據庫中的表,然後爲此表定義一個NHibernate映射?
  4. 還有別的嗎?

回答

0

塞巴斯蒂安的回答肯定是不壞(上投),但是,它重新實現在IIS中已有的功能。 IIS的日誌記錄可能會比本地的東西更好。 (例如,它會記錄沒有通過MVC堆棧的東西)。出於這個原因,我希望沿着你的選項3使用某些東西。

+0

當然,這使網站更依賴於外部因素。 MVC移植到Mono時會發生什麼? 只是一個想法。 – Kieron 2009-01-26 15:22:37

0

爲什麼不直接使用[Google Analytics]?( http://www.google.com/analytics/)在我看來,獲得這些統計數據的方法要簡單得多。另外你會得到豐富的獎金信息。更不用說你在世界任何地方都可以使用它。

0

我的計數器嚴格記錄在服務器端。您需要執行一些客戶端代碼來計數緩存重新載入等。這就是爲什麼所有現代網站分析(如Google Analytics等)都有一個客戶端代碼...也是如此。

如果不在輸出緩存模塊等之前插入HttpModule,輸出緩存在做日誌記錄時也會很痛苦。