我有一个目录,我使用压缩工具将目录压缩成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
我有什么错误或误解吗?
答案 0 :(得分:0)
看起来你没有处理这个对象,引用this回答:
将对象设置为null可能会导致未管理的资源被取消。拥有IDisposable的整个目标是确保在使用后管理未管理的资源。
那么我会做什么:删除isf = null;
行并将其全部包装在using
语句中。