7

分離されたストレージを使用するWindowsPhone7アプリケーションを構築しています。コードはほとんどの場合機能しますが、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の使用をブロックを使用して内部に配置するため、ファイルをどこにも開かないようにする必要があります。

これを引き起こしている可能性がありますか?

例外の原因に関する詳細を取得するにはどうすればよいですか?

4

4 に答える 4

7

現在、ブロックを使用しても、WP7 でストリームをフラッシュ/クローズすることは保証されていません。

SDK が実際に信頼できる状態になるまで、すべてのファイル/ストリームを明示的に閉じてください。:)

于 2010-11-12T15:21:06.147 に答える
2

特に、削除しようとしているファイル内のすべてのリーダーとライターを閉じていることを確認します。それが確実に修正されると言っているわけではありませんが、存在するファイルを削除できないのは、開いているファイルが原因である傾向があります。

于 2010-09-26T17:30:12.640 に答える
0

WP7 がまだベータ版であることを忘れてはなりません (CTP からベータ版に更新しましたよね?)。

問題の小さなレポを作成できるかどうかを確認するために、メイン アプリケーションと同じ方法で分離ストレージを操作する非常に単純なアプリケーションを作成することを検討してください。それが完了したら、それを Microsoft に送信して、彼らがそれを見ることができるようにします。

于 2010-07-17T18:24:19.543 に答える