我必須編寫一個控制檯應用程序來將日誌文件每日導入數據庫。日誌文件和數據庫位於不同的服務器上。然後一個Web應用程序將搜索這個數據庫。從Web應用程序導入日誌文件,我應該這樣做嗎?
我在考慮應該將導入應用程序遷移到此Web應用程序,還是將此應用程序配置爲SQL Server中的作業。 (前面提到的,導入作品必須每天完成,在特定時間)。
如果我應該遷移到Web應用程序,我該如何有效地進行安排? (我使用C#)
我必須編寫一個控制檯應用程序來將日誌文件每日導入數據庫。日誌文件和數據庫位於不同的服務器上。然後一個Web應用程序將搜索這個數據庫。從Web應用程序導入日誌文件,我應該這樣做嗎?
我在考慮應該將導入應用程序遷移到此Web應用程序,還是將此應用程序配置爲SQL Server中的作業。 (前面提到的,導入作品必須每天完成,在特定時間)。
如果我應該遷移到Web應用程序,我該如何有效地進行安排? (我使用C#)
使用log4net直接寫入日誌數據庫
服務器A的日誌。 服務器B將對其進行處理
- 設置了FTP服務器B
在服務器A - 寫入批處理文件到FTP日誌文件到服務器B
- 設置了這個批處理文件作爲預定任務服務器A
- 寫控制檯應用程序在FTP目錄中查找此文件並導入到數據庫。
- 將此設置爲服務器B上的計劃任務(例如,在其他計劃後1小時)。
一種技術是在啓動時通過添加一個[HttpContext]高速緩存條目來計劃回調,該條目在下次運行的任何時候到期。然後可以訂閱'正在刪除的緩存條目'回調,然後執行導入。完成後,將虛擬條目添加回緩存。
像這樣的任何方法的問題當然是如何通知操作員失敗和/或管理如果因任何原因需要重試會發生什麼。
不知道你正在處理什麼樣的「日誌」,但MS Log Parser可能對你有一些幫助。你可以下載它here