我正在开发应用程序,其中我首先检查图像是否存在于独立存储中。如果图像不存在,那么我先下载然后将它们存储在隔离存储中。但是我得到了异常“类型'系统的例外。 ObjectDisposedException'发生在mscorlib.ni.dll中,但未在用户代码中处理“using (IsolatedStorageFileStream mystream = istore.CreateFile(item.ImageUrl)).
private void checkimage(Model item)
{
using (IsolatedStorageFile istore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (istore.FileExists(item.ImageUrl))
{
}
else
{
BitmapImage imgage = new BitmapImage(new Uri(item.ImageUrl, UriKind.Absolute));
imgage.CreateOptions = BitmapCreateOptions.BackgroundCreation;
imgage.ImageOpened += (o, e) =>
{
using (IsolatedStorageFileStream mystream = istore.CreateFile(item.ImageUrl))
{
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(mystream);
WriteableBitmap wb = new WriteableBitmap(bitmap);
Extensions.SaveJpeg(wb, mystream, wb.PixelWidth, wb.PixelHeight, 0, 85);
mystream.Close();
}
};
}
}
}
答案 0 :(得分:1)
当您尝试创建文件时,看起来istore已被销毁。尝试在事件体中再次创建(istore)或使用全局变量并手动处理。
例如:将BitmapImage imgage...
移到第一个using
之外,然后再次创建istore。