У меня есть приложение, которое должно хранить данные. В настоящее время я использую встроенные Параметры настройки приложения, чтобы сделать это, но это только дает мне два варианта: приложение и пользовательские объемы. Идеально, я хочу "локальный" объем, который позволяет приложению работать при другом пользователе и все еще находить свои данные, а не воссоздавать его для того пользователя. Область действия приложения может сделать это, но это только для чтения. Данные приложения будут изменены пользователем. Хорошо, если только администратору разрешают внести изменения в данные.
Как, вероятно, можно предположить, у меня есть административное средство, которое позволяет пользователю изменять данные и сервисного бегуна окон, который считывает данные и делает что-то с ними. Было бы замечательно, если сервисный бегун окон получает доступ к данным, созданным административным средством.
Если данные очень и очень простые, и вам нужно, чтобы они были доступны для чтения другим приложениям или пользователям (с соответствующими разрешениями), я бы, вероятно, предпочел сохранить их в 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
.
Похоже, что вы хотите хранить его в базе данных, вопрос в том, локально или в сети, или нет. Ответ также зависит от того, какого рода данные вы храните, как распределено ваше приложение и других факторов.
О, и BTW мы могли бы помочь вам гораздо лучше, если бы вы указали вашу платформу (желательно с тегом) --silverlight, wpf, winforms, asp.net, console, и т.д.