隔离存储操作不允许错误

本文关键字:错误 不允许 操作 存储 隔离 | 更新日期: 2023-09-27 18:16:49

我有一个目录,我正在使用压缩工具将目录压缩成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

有什么我做错了或误解了吗?

隔离存储操作不允许错误

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

将该对象设置为null可能会导致未处置的未托管资源被遗漏。使用IDisposable的全部目的是确保非托管资源在使用后被处置。

所以我要做的是:删除isf = null;行并将其全部包装在using语句中。