Я хочу
получить XML-файл из AppData.Local, и сериализовать его в списокПочему я не могу прочитать XML из AppData в WinRT?
Что код
Часть Ошибка:
List<myTask> AllTaskList = await objectStorageHelper.LoadAsync();
myTask является простой класс:
public class myTask
{
public string myTitle { get; set; }
public string myDuetime { get; set; }
}
объектStorageHelper - это Hel Pclass от CodePlex, то LoadAsync часть ниже:
public async Task<T> LoadAsync()
{
try
{
StorageFile file = null;
StorageFolder folder = GetFolder(storageType);
file = await folder.GetFileAsync(FileName());
//file = await folder.CreateFileAsync("BetterTask.xml", CreationCollisionOption.OpenIfExists);
IRandomAccessStream readStream = await file.OpenAsync(FileAccessMode.Read);
Stream inStream = Task.Run(() => readStream.AsStreamForRead()).Result;
return (T)serializer.Deserialize(inStream);
}
catch (FileNotFoundException)
{
//file not existing is perfectly valid so simply return the default
return default(T);
//Interesting thread here: How to detect if a file exists (http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/1eb71a80-c59c-4146-aeb6-fefd69f4b4bb)
//throw;
}
catch (Exception)
{
//Unable to load contents of file
throw;
}
}
Что такое ошибка
Исключение типа «System.UnauthorizedAccessException» произошло в mscorlib.dll, но не был обработан в пользовательском коде
Дополнительная информация:. Доступ запрещен (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))
Если для этого исключения есть обработчик, программа может быть безопасно продолжена.
-
Почему это происходит
я могу использовать этот класс помощи, чтобы успешно выполнить запись в файл?.
Но почему у меня нет разрешения на чтение файла?
Как это решить?
Может быть, это поможет: HTTP: // StackOverflow. com/a/5330436/1207991 – Gloopy
имеет ли ваше приложение разрешение читать этот файл/каталог? – Fixus