私は約 1000 件の同様の投稿を読み、一般的なアドバイスに従いましたが、まだ問題が発生しています。これが私のシナリオです:
ユーザーが保存すると、すべてのデータを XML にシリアル化し、CreateFile を使用して保存する Windows Phone 8 アプリに取り組んでいます。私が直面している問題は、ユーザーが保存を数回続けて押すと、IsolatedStorageException:Operation Not Permitted がスローされることです (ファイルにアクセスしようとすると、シリアル化に十分な時間がかかり、ファイルがまだ使用されていると推測しています) 2回目)。保存が 2 回目にタップされたときに、前のアクションを中止し、分離ストレージ ファイルを解放して、新しい保存を開始する方法はありますか? または、より良い解決策はありますか?
私の Save メソッドのコードは次のとおりです (例外は isoStore.CreateFile(filename) 行で発生します)。
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = isoStore.CreateFile(filename))
{
XmlSerializer xml = new XmlSerializer(GetType());
xml.Serialize(stream, this);
}
}
私は何週間もここで立ち往生しているので、どんな助けも素晴らしいでしょう.
ありがとう、ベン: