2011-03-22 43 views
1

任何人都可以提供在何處存儲爲一個C#Windows應用程序的用戶偏好的最佳實踐的例子嗎?在哪裏存儲用戶偏好設置的C#Windows應用程序

到目前爲止,我已經聽到了一些選項:

  • 有些人說,將其存儲在 SQLite的。 SQLite是否與.NET 2.0捆綁在一起,並立即可供我使用?

  • 也有人說使用內置 應用程序設置...但我 聽說這裏 每用戶設置,如果你升級的應用程序(一個 明顯的問題)消失。

  • 我也考慮過只是將其存儲在 上某處盤... 一個.xml文件,但它的「正確」的地方 商店.xml文件的用戶?

+0

使用系統註冊表出了問題? – Landern 2011-03-22 18:29:34

+0

我寧願不使用註冊表...註冊表只是在我看來是一個醜陋的解決方案,我可能被存儲的數據的一個比較大的一塊。 – 2011-03-22 18:30:50

回答

3
  • SQLite是不包含在.NET2,但你可以用你的應用程序
  • 內置的設置,系統工作正常進行簡單的應用程序出貨 - 你需要添加一對夫婦的樣板線的處理版本發生了變化,但並不複雜。
  • 您可以在這裏把你的xml文件:

    Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData)

有很多的 '這取決於' 關於你的問題,因爲你不併不是說你需要存儲多少類型的數據,也不知道你有什麼其他理由去關心它發生的地方。

+0

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)...這會在哪裏結束?這是否與Windows 7和Windows Vista上的UAC兼容,其中很多程序數據位置在寫入/修改文件時不受限制? – 2011-04-28 12:49:51

+0

@Josh g。在此Win7的框(不是一個域),這是在C:\用戶\ \應用程序數據\地方。我想不出任何'數據'特殊文件夾這將是UAC的問題,但LocalApplicationData絕對不受限制,也不是CommonApplicationData – 2011-04-28 16:54:51

0

存儲用戶的應用程序設置爲一個最佳實踐。

http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage(v=vs.80).aspx

存儲設置爲XML文件是完全正常的。

+0

隔離存儲器適用於SilveLight等。存儲在自定義XML文件中不如使用設置。約定等 – 2011-03-22 18:51:10

+0

我清楚地記得,在爲App Dev Foundations測試學習時,他們推薦使用獨立存儲 - 這是在Silverlight出現之前。 – 2011-03-23 16:24:09

+1

獨立存儲不僅適用於Silverlight。它廣泛用於Silverlight,因爲文件系統不可用,但隔離存儲也是標準.NET應用程序的選項。 – 2011-04-28 12:51:11

相關問題