我在我的網站上有一個自定義的數據服務,它應該每10分鐘刷新一次數據,而不會造成用戶停機。 (asp.net mvc3,mssql 2008,c#)正確保存XDocument
目前它每10分鐘刷新數據並更新我的數據庫(mssql)沒有問題。但是,事實上,我並不是爲每個用戶請求都從數據庫中讀取數據,而是在刷新數據後立即將其保存到XML文件中,以便用戶無需任何額外的數據庫連接或進程即可獲取數據。
因此,將有一個進程重新收集數據並寫入XML,同時很多用戶會每秒都要求XML。
因爲我對文件寫/讀的東西瞭解不多,所以我不確定在寫文件之前是否應該鎖定文件,因爲其他進程可能正在讀它。或者也許沒問題,因爲只有一個流程會寫入,其他讀取/請求不會產生任何問題?在寫入之前,也不確定XDocument的Save函數是否已經鎖定。
所以,總而言之;我可以如何安全地將我的XDocument對象保存到xml文件中,而其他任何進程可能正在讀取/請求該文件?
或者我應該只是從Sql讀取數據(從不知道每個用戶的處理時間&延遲)並返回XDocument對象,這會更容易我猜?
在此先感謝!
哦,現在,這是有道理的,我沒有經歷過這種東西,所以我完全忘了它。現在看看它,謝謝! – Tiax 2011-02-07 17:00:09
剛剛測試過它,工作流暢而快速,再次感謝! – Tiax 2011-02-07 18:33:54