2009-10-29 112 views
6

我工作的公司正在使用.NET重新設計我們的應用程序。我們的應用程序使用軟件即服務模式進行銷售。跟蹤用戶在業務應用程序中的操作

我們跟蹤軟件中的所有用戶操作以進行報告(搜索事物,下載資源,完成表單,與正在創建的表單關聯的內容,用戶簡介和登錄時的快照等) )。之前我們已經編寫了一個非常強大的跟蹤邏輯來完成舊應用程序中的所有這些細節。

之前,我完成我想知道如果任何人有過的,他們在過去是相當穩健實施的貨架跟蹤解決方案或開源跟蹤系統建議的.NET應用程序這個初始的重新設計。

其他細節: 我們有很多(具體到我們的應用程序)的自定義數據的需要被跟蹤和我們的應用程序只能通過公司內部網站訪問等等細節上,人們從不需要爲未來我們已經知道這一點。

我跟蹤頁的規劃命中,因此用戶的訪問可以重現如果需要的話。

編輯(11/20/2009):似乎沒有完全適合我的問題的現成解決方案,但我將用我們將在下一個實施的設計和方向更新此問題幾個星期。所以如果你對這個問題發生了什麼感興趣,那麼很快就會回來看看。

回答

0

Microsoft's Enterprise Library有一些部件可能與一些你可能想要異常處理/日誌記錄報告目的的基本水暖很有幫助。可能有其他軟件包,如log4net,也可能適用於其他人可能會建議的應用程序的特定部分。

只是一對夫婦的想法的事情,以評估他們將如何爲你工作。

+0

log4net是一個偉大的日誌記錄應用程序,但如果您想跟蹤健壯的對象詳細信息,可能很難使用。如果你可以用通用記錄器獲取所有你需要的信息到數據庫,那麼一定要去log4 – 2009-10-30 19:51:47

+0

@Russell - 我同意log4net是一個偉大的日誌記錄應用程序,但它很難用它來跟蹤健壯的對象細節。 如果我們自己編寫完整的跟蹤代碼,我可能會嘗試抽象一個框架,我可以在sourceforge上發佈一些東西。我想我們會爲某些事情連接一個處理程序/模塊,並通過我們的主要「頁面」類創建跟蹤事件連線。 – Dan 2009-10-30 20:55:01

1

公司採用log4net用於跟蹤用戶的行爲。我們還將操作插入到數據庫中,以便用戶對我們的應用程序執行的任何操作。使用log4Net,您可以在日誌記錄和日誌記錄方面獲得相當細緻的體驗。這裏是一個direct link下載版本1.2.10(最新截至今天)的二進制文件。配置完成後,使用和記錄信息非常簡單。

希望這有助於

斯科特

+0

log4net專門用於跟蹤用戶的操作,我們已經在我們的應用程序中使用log4net進行常規應用程序日誌記錄/調試。感謝您對此的反饋。 – Dan 2009-10-30 20:52:06

2

嗯...真的有三種不同類型的跟蹤你提到的(洛)水平和不同的工具,爲每個。

在您的文章你提到:

  1. 跟蹤的網頁的用戶訪問: 對我來說這將是Web服務器的功能。 IIS(我認爲IIS是因爲你說它是.Net)會爲你記錄所有這些東西。有幾種工具可以挖掘這些信息。

  2. 業務交易: SUFF喜歡的用戶打印的報告。用戶運行一個進程等。這些並不總是特定於任何數據更改。使用類似log4net和IoC容器的工具將這種類型的日誌記錄注入到業務對象中將會很好。

  3. 數據修改: 這是數據級別跟蹤。有幾種方法可以做到這一點。但是,我會建議把它靠近數據庫。在DAL中執行它可能更容易一些,但如果某人在應用程序之外更改了數據庫中的數據,該怎麼辦?當然,這可能不適用於你的情況。我已經看到這與觸發器完成。但是,SQL 2008添加了 change tracking內置。

所以,我會說你需要所有三種工具的組合。也許你可以將所有數據整合到一個或兩個表格中,以簡化查看和挖掘它。

0

間接程度。使用輸入過濾器(Apache?)實現反向代理,將請求和請求參數記錄到數據庫。報告和會話娛樂變得大大緩解。

+0

在商業應用程序中,您有興趣跟蹤的大部分細節通常不會通過請求來回傳遞 – Dan 2009-10-31 19:58:41