隔离存储操作不允许错误

时间:2014-08-07 06:27:17

标签: c# windows-phone-8 windows-phone-7.1 isolatedstorage

我有一个目录,我使用压缩工具将目录压缩成zip文件,但在完成压缩操作后,我收到一条错误消息:不允许隔离存储操作。

此错误仅偶尔发生。

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();

C1ZipFile zip = new C1.C1Zip.C1ZipFile();

if (isf.DirectoryExists("SFA_DB") == true)
{
   var fs = isf.CreateFile("\\SFA_DB.zip");
   zip.Create(fs);
   foreach (string fileName in isf.GetFileNames("SFA_DB\\*.*"))
        zip.Entries.Add(isf.OpenFile("SFA_DB\\" + fileName, FileMode.Open), fileName);
   fs.Close();
   fs.Dispose();
   zip.Close();
 }

//Last Two Lines I have writtent recently
isf.Dispose(); 
isf = null;

压缩工具由Component One提供 C1.Phone.Zip.8

我有什么错误或误解吗?

1 个答案:

答案 0 :(得分:0)

看起来你没有处理这个对象,引用this回答:

  

将对象设置为null可能会导致未管理的资源被取消。拥有IDisposable的整个目标是确保在使用后管理未管理的资源。

那么我会做什么:删除isf = null;行并将其全部包装在using语句中。