2017-01-25 74 views
0

我需要一個應用程序來讀取一些表並從數據讀取中生成一些新數據並將其保存到另一個表中。這就像:我有一個數據庫,它提供了有關來自一個應用程序的某些客戶端的信息。根據這些信息,我可能會創建一些關於客戶端的警報,以便在另一個應用程序中顯示它。如何在C中使用EntityFramework創建Windows服務#

我有一個服務生成第一個數據,它工作正常,它不是我開發的,我不必擔心。但是我創建了一個windows服務來讀取和創建新的數據,並使用DataSets(如「temp」表)和數據庫進行通信,並且在流程結束時,使用tableAdapter.update()將所有內容一次保存在數據庫中。

我想改善這個Windows服務,因爲DataSets似乎並不是我的觀點中的最佳選擇,我研究了實體框架及其優點,但我不確定是否構建windows服務。構建這樣的應用程序的最佳實踐是什麼?什麼是最好的方式不去數據庫生成每個記錄,但保存一堆記錄並保存在內存之前?我的意思是,喜歡在運行時和進程結束時使用臨時表,保存生成的所有內容。

回答

0

您的問題對於SO來說太寬泛,很可能會被關閉。我將指定一些提示,以幫助您入門。嘗試他們回來與specific questions(編寫的代碼,具體錯誤等)

  1. 數據集與EF - 之前的代碼重構(refactorization),看看here,看到每路利弊。對於一個簡單的應用(服務),它可能不需要在所有

  2. 緩存 - 避免多次讀取/寫入/從數據庫可以通過緩存來實現。要解決的一種方法是HttpRuntime.Cache,解釋如here。不要擔心名稱空間中的Web,它也可以被引用以用於非Web應用程序,如here所述。

但通過使用緩存打交道時,你應該更加小心什麼樣的信息,如果服務突然停止丟失。