Где я должен сохранить свои данные приложения?

У меня есть приложение, которое должно хранить данные. В настоящее время я использую встроенные Параметры настройки приложения, чтобы сделать это, но это только дает мне два варианта: приложение и пользовательские объемы. Идеально, я хочу "локальный" объем, который позволяет приложению работать при другом пользователе и все еще находить свои данные, а не воссоздавать его для того пользователя. Область действия приложения может сделать это, но это только для чтения. Данные приложения будут изменены пользователем. Хорошо, если только администратору разрешают внести изменения в данные.

Как, вероятно, можно предположить, у меня есть административное средство, которое позволяет пользователю изменять данные и сервисного бегуна окон, который считывает данные и делает что-то с ними. Было бы замечательно, если сервисный бегун окон получает доступ к данным, созданным административным средством.

7
задан Joel Rodgers 5 May 2010 в 02:44
поделиться

2 ответа

Если данные очень и очень простые, и вам нужно, чтобы они были доступны для чтения другим приложениям или пользователям (с соответствующими разрешениями), я бы, вероятно, предпочел сохранить их в 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 .

7
ответ дан 7 December 2019 в 07:41
поделиться

Похоже, что вы хотите хранить его в базе данных, вопрос в том, локально или в сети, или нет. Ответ также зависит от того, какого рода данные вы храните, как распределено ваше приложение и других факторов.

О, и BTW мы могли бы помочь вам гораздо лучше, если бы вы указали вашу платформу (желательно с тегом) --silverlight, wpf, winforms, asp.net, console, и т.д.

0
ответ дан 7 December 2019 в 07:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: