在一個asp.net web應用程序中,我想寫入一個文件。該功能將首先從數據庫中獲取數據,然後寫出平面文件。想寫入一個文件,但一次可能有多個寫入者,需要鎖定
我該怎麼做才能確保只發生1次寫入,一旦發生寫入,寫入之後可能要寫入文件的其他線程就不會發生。
我想只在15分鐘內完成這個寫操作。
我知道有一個鎖關鍵字,所以我應該將所有內容都包含在一個鎖中,然後檢查它是否已在15分鐘或更長時間內更新,或者反之亦然?
更新
工作流程:
因爲這是一個Web應用程序,多個實例將是人查看特定網頁。我可以使用緩存系統中的構建,但是如果asp.net重新使用,重建緩存將會很昂貴,所以我只想將其寫入一個平面文件。我的其他選擇只是創建一個Windows服務,但這是更多的工作來管理我想要的。
所有的寫入是在單個應用程序的單個實例中發生的嗎?或者,應用程序的多個實例會試圖同時寫入,還是會嘗試同時寫入不同的應用程序? – 2008-09-18 15:34:12