Хранение блоба в настройках приложения

Каков подходящий метод хранения большого двоичного объекта (большой строки байтов) в настройках приложения (или вместе с ними) в .NET?

Я могу придумать несколько подходов, но ни один из них не кажется таким простым, как должен быть.

  • Storing a base64 or hex string
    • Slightly unwieldy for serialization/deserialization
  • Storing a file beside the user.config (or app.config) file and managing it manually
    • I don't know how to locate the user.config file programmatically
  • Storing a file elsewhere in AppData and managing it manually
    • Prevents my application data from being in one spot

Мне нужно иметь возможность изменять значение во время выполнения и иметь разные значения для каждого пользователя, потому что эти данные будут тесно связаны с тем, что находится в user.config.

Каков идеальный метод хранения такого значения?


person Kendall Frey    schedule 14.02.2013    source источник
comment
а о базе данных не может быть и речи?   -  person Jeremy Thompson    schedule 14.02.2013
comment
Не совсем, но это действительно кажется излишеством.   -  person Kendall Frey    schedule 14.02.2013
comment
Как хранятся ваши пользователи?   -  person RyanJMcGowan    schedule 14.02.2013
comment
@RyanJMcGowan Я использую настройки приложения на уровне пользователя, которые хранятся в AppData.   -  person Kendall Frey    schedule 14.02.2013


Ответы (1)


В проекте Visual Studio вы можете хранить файлы в файле ресурсов. В файле ресурсов могут храниться строки и файлы. Это, безусловно, самое удобное решение и не требует сериализации.

Виктор

person Victor    schedule 14.02.2013
comment
Разве ресурсы не доступны только для чтения во время выполнения? Мне нужно, чтобы они были доступны для записи, а также имели ту же область действия, что и настройки на уровне пользователя. - person Kendall Frey; 14.02.2013
comment
Извините пропустил это. Если вам нужна возможность записи, на мой взгляд, лучший вариант — сохранить файл в папке App_Data (не как base64), потому что папка App_Data защищена. - person Victor; 14.02.2013
comment
Только что проверил, и я думаю, вы можете записать обратно в файл ресурсов. ссылка - person Victor; 14.02.2013