Когда я должен выбрать изолированное хранилище в сравнении с хранилищем файлов AppData? - PullRequest
5 голосов
/ 27 января 2009

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

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

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

1 Ответ

7 голосов
/ 27 января 2009

IsolatedStorage имеет пару интересных функций, которые могут сделать выбор:

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

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

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

  • Вы также можете легко хранить данные в изолированном хранилище с различными уровнями изоляции. См. значения IsolatedStorageScope для получения дополнительной информации. Это его тезка, так что, наверное, мне следовало сначала перечислить этот пункт :)

С другой стороны:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...