Dot-Net
我應該在哪裡儲存我的應用程序數據?
我有一個需要儲存數據的應用程序。目前,我正在使用內置的應用程序設置來執行此操作,但它只給了我兩個選擇:應用程序和使用者範圍。理想情況下,我想要一個“本地”範圍,允許應用程序在另一個使用者下執行,並且仍然可以找到它的數據,而不是為那個使用者重新創建它。應用程序範圍可以做到這一點,但它是只讀的。應用程序數據將由使用者更改。如果只允許管理員對數據進行更改就可以了。
正如您可能猜到的那樣,我有一個管理工具,允許使用者更改數據和讀取數據並對其執行某些操作的 Windows 服務執行程序。如果 Windows 服務執行程序訪問由管理工具創建的數據,那就太好了。
如果數據非常非常簡單,並且您需要它可以被其他應用程序或使用者讀取(具有適當的權限),我可能會選擇將其儲存在 XML 文件中,甚至是使用者應用程序數據中的純文字文件文件夾,將通過
Environment.GetFolderPath. 保存的範例可能如下所示:using System.IO; using System.Xml.Linq; string settingsDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); if (!Directory.Exists(settingsDirectory)) Directory.CreateDirectory(settingsDirectory); string fileName = "tasks.xml"; string settingsPath = Path.Combine(settingsDirectory, fileName); XDocument settingsDoc = new XDocument( new XElement("Tasks", new XElement("Task", new XElement("Name", "Make Breakfast"), new XElement("Location", @"C:\Program Files\MyApp\Plugins"), new XElement("FileName", "breakfast.dll")))); // ... etc. settingsDoc.Save(settingsPath);就是這樣 - 設置已保存!您可以使用 再次載入它們
XDocument.Load。