首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >隔离存储操作不允许错误

隔离存储操作不允许错误
EN

Stack Overflow用户
提问于 2014-08-07 06:27:16
回答 1查看 293关注 0票数 0

我有一个目录,我使用压缩工具将目录压缩成一个zip文件,但是在完成压缩操作后,我收到一个错误,它说:不允许单独的存储操作。

此错误仅偶尔发生。

代码语言:javascript
运行
复制
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;

压缩工具由组件1 C1.Phone.Zip.8提供。

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

EN

回答 1

Stack Overflow用户

发布于 2014-08-07 06:31:30

看来您没有处理对象,引用this的答案:

将对象设置为null可能会导致忽略未处理的非托管资源。拥有IDisposable的整个目标是确保非托管资源在使用后被释放。

因此,我要做的是:删除isf = null;行,并将其全部包装在一个using语句中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25175568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档