Когда мне следует выбрать хранилище файлов IdealStorage вместо хранилища AppData?

StackOverflow https://stackoverflow.com/questions/483840

  •  20-08-2019
  •  | 
  •  

Вопрос

Недавно я обнаружил IsolatedStorage возможности в .net, и мне интересно, когда мне следует использовать их для данных моего приложения, а когда мне следует использовать (например) Application.LocalUserAppDataPath.

Одна вещь, которую я заметил, это то, что Application не существует за пределами приложения winforms, поэтому кажется, что IsolatedStorage может иметь смысл для библиотеки классов, которой требуется определенное хранилище, особенно если эта библиотека может использоваться как веб-приложением, так и приложением Winforms.Это единственное отличие или есть что-то еще?

(Как правило, до сих пор я заставлял приложение предоставлять поток файлов в библиотеку, когда библиотеке может потребоваться какое-то внешнее хранилище - в общем, мне не нравится идея, что библиотека имеет какое-то состояние, внешнее по отношению к контексту вызывающего объекта.)

Это было полезно?

Решение

У IntegratedStorage есть несколько интересных функций, которые могут заставить вас выбрать именно его:

  • Даже приложения с очень низким уровнем доверия (например, Click-Once) могут получить доступ к изолированному хранилищу.Не все приложения могут иметь доступ к AppData.В зависимости от политики безопасности, примененной к приложению, может быть ограничено значение ИзолированныеStorage, но обычно оно более доступно, чем AppData/файловая система.

  • Требования к хранилищу ИзолированныеStorage можно контролировать с помощью политики администратора.

  • Вам не обязательно знать, где и как хранятся данные изолированного хранилища.У него есть единый API для доступа к нему во всех системах, вы можете полностью игнорировать базовый путь, в котором он хранится.Как вы заметили, это очень полезно для библиотеки, которая может понятия не иметь, как хост-приложение хранит данные.

  • Вы также можете легко хранить данные в изолированном хранилище с различными уровнями изоляции.Видеть значения ИзолированныеStorageScope Чтобы получить больше информации.Это его тезка, так что, думаю, надо было упомянуть этот пункт первым :)

Из минусов:

  • ИзолированныеStorage имеет некоторые заметные ограничения на объем данных, которые вы можете там хранить.Например, настройки приложения подойдут, но не подходят для документов.

Некоторые полезные ссылки:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top