Я создаю приложение Windows Phone 7, которое использует изолированное устройство хранения данных. Код работает большую часть времени, но я продолжаю получать IsolatedStorageExceptions случайным образом:
{"An error occurred while accessing IsolatedStorage."}
There are no further details about the reason for the exception. Here is the stack trace:
at System.IO.IsolatedStorage.IsolatedStorageFile.DeleteFile(String file)
at MyApp.Core.Data.WindowsPhoneFileRepository.DeleteFile(String name)
at MyApp.Core.Domain.ThingService.SaveThing(Thing Thing)
at MyApp.Core.Domain.TrackedThingService.PersistThingLocally(TrackedThing Thing)
at MyApp.Ui.ViewModels.TrackViewModel.<.ctor>b__3(Thing Thing)
at GalaSoft.MvvmLight.Command.RelayCommand`1.Execute(Object parameter)
at GalaSoft.MvvmLight.Command.EventToCommand.Invoke(Object parameter)
at System.Windows.Interactivity.TriggerAction.CallInvoke(Object parameter)
at System.Windows.Interactivity.TriggerBase.InvokeActions(Object parameter)
at System.Windows.Interactivity.EventTriggerBase.OnEvent(EventArgs eventArgs)
at System.Windows.Interactivity.EventTriggerBase.OnEventImpl(Object sender, EventArgs eventArgs)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
Файл существует. Я помещаю все свое использование IsolatedStorage в использовании блоков, таким образом, у меня не должно быть файла, открытого нигде.
Что могло вызывать это?
Как я могу я получать больше деталей о причине исключения?
Не стоит забывать, что WP7 все еще находится в бета-версии (вы ведь обновились с CTP до бета-версии?).
Рассмотрите возможность создания очень простого приложения, которое манипулирует Изолированным хранилищем так же, как и ваше основное приложение, чтобы посмотреть, сможете ли вы создать небольшое Repo проблемы. После этого отправьте его в Microsoft, чтобы они могли взглянуть на него.