2013-09-30 30 views
0

我需要本地存儲的.NET/WPF應用程序主要用於圖像和其他東西。我沒有在這裏尋找數據庫解決方案。 對於存儲的要求是:.NET應用程序的本地數據存儲

  1. 只能通過這個.NET應用程序可以訪問
  2. 這沒關係,有些管理員可以訪問存儲(清洗,數據複製等),但我想爲了避免用戶或任何其他應用程序accidentially刪除此
  3. 文件通過.NET應用程序的用戶可以在運行時創建,修改和刪除文件夾和誰正在使用的應用程序
  4. 數據
  5. 存儲爲特定用戶
  6. 當.NET應用程序已更新(Windows安裝程序或ClickOnce)此存儲不應被觸及,並且所有現有數據必須停留在那裏以用於更新的應用程序

典型方案:最終用戶想要保存圖像通過應用程序。該應用程序創建一個文件夾,圖像保存在那裏。稍後,可以從那裏讀取該圖像並在用戶界面上向用戶顯示該圖像。

我讀到Isolated Storage,但我不知道這是什麼,我應該尋找。

我還看到許多其他應用程序使用Users/xxxx/AppData/Roaming文件夾來存儲應用程序數據。應該使用嗎?

+0

隔離存儲是一個選項中,虛擬文件​​系統,例如我們的SolFS(https://www.eldos.com/ solfs /)是ano它可以完美地滿足你的需求。 –

回答

0

IsolatedStorage很好,你的用戶不會偶然發現它,但是除非他們搜索它,否則管理員也不會。

IsolatedStorage的問題在於它是如何隔離的,我指的是用於選擇存儲的標準。當你的程序集/ exe改變主要版本時,你將得到一個新的商店,舊的數據將無法訪問,除非通過舊的程序集。

我發現Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)是存儲數據的好地方 - 它物理上對應

  • WinXP的:「C:\ Documents和Settings \所有用戶\應用數據」

  • WinV/7/8: 「C:\ ProgramData」

相關問題