Как определить местоположение корневого каталога IsolatedStorageFile - PullRequest
3 голосов
/ 06 августа 2010

Я использую IsolatedStorage для сохранения объектов, но время от времени мне нужно вручную удалять файлы из этого каталога.Поскольку я сохраняю файлы, я хочу записать физическое местоположение каталога в консоль.Похоже, что нет доступного свойства, которое возвращает эту информацию.Как мне это сделать?

Вот мой неполный код:

using (var store = IsolatedStorageFile.GetMachineStoreForAssembly())
{
   Console.WriteLine("Persisting Hotel to {0}", store.<<INSERT APPROPRIATE PROPERTY>>);
}

Ответы [ 2 ]

3 голосов
/ 06 августа 2010

Ну, я не пробовал это, но я нашел ссылку (не легко найти), которая предположительно показывает, как это сделать: http://msmvps.com/blogs/angelhernandez/archive/2008/10/04/retrieving-file-path-from-isolatedstorage.aspx

В основном появляется ключевая строка кодабыть:

fileName = isoStore.GetType.GetField("m_RootDir",Reflection.BindingFlags.NonPublic or Reflection.BindingFlags.Instance).GetValue(isoStore).ToString

Я не уверен, нужно ли устанавливать какие-либо специальные разрешения, чтобы заставить это работать.

Хорошо, также обнаружен связанный стекопоток: Могу ли яполучить путь к файлу IsolatedStorage и прочитать его из внешних приложений?

1 голос
/ 16 июня 2017

Попробуйте это:

using System.IO.IsolatedStorage;
using System.Reflection;

var store = IsolatedStorageFile.GetMachineStoreForAssembly();
var pathName = store.GetType().GetField("m_RootDir", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(store).ToString();
...