我有一个目录,我使用压缩工具将目录压缩成一个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;
压缩工具由组件1 C1.Phone.Zip.8提供。
我做错了什么或者误解了什么吗?
发布于 2014-08-07 06:31:30
看来您没有处理对象,引用this的答案:
将对象设置为null可能会导致忽略未处理的非托管资源。拥有IDisposable的整个目标是确保非托管资源在使用后被释放。
因此,我要做的是:删除isf = null;
行,并将其全部包装在一个using
语句中。
https://stackoverflow.com/questions/25175568
复制相似问题