首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IsolatedStorageFile和BitmapImage的奇怪的BitmapImage

使用IsolatedStorageFile和BitmapImage的奇怪的BitmapImage
EN

Stack Overflow用户
提问于 2013-06-24 16:11:10
回答 2查看 268关注 0票数 0

我使用以下代码从IsolatedStorageFile读取一些缓存的图像:

代码语言:javascript
复制
using (IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication())
{
    using (IsolatedStorageFileStream stream = storageFile.OpenFile(filename, FileMode.Open, FileAccess.Read))
    {
        BitmapImage result = new BitmapImage();
        result.SetSource(stream);
        return result;
    }
}

有时,我会得到以下异常:

详细内容如下:

偏移量和长度超出了数组的界限,否则计数大于从索引到源集合末尾的元素数。

有什么想法吗?我不知道这是否重要,但是这段代码是在一个沉重的多线程环境中访问的(我的意思是有很多线程调用这些行)。

我知道这是第一次机会例外,但不管怎样,我不明白原因。

EN

回答 2

Stack Overflow用户

发布于 2015-04-21 08:57:27

我遇到了同样的错误与非常相似的代码。根据我的经验,这种情况只发生在一个损坏的照片文件上。这些照片都是由CameraCaptureTask生成的,我从来没有复制过这个错误,但是它发生在野外。

错误信息有点误导。

我在filestream上显式地调用Close+Dispose,但这相当于“使用”声明,ignacio在上面的答复中是正确的。

票数 1
EN

Stack Overflow用户

发布于 2014-12-28 00:20:39

删除流对象的第二个using语句,这将修复这个问题。

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

https://stackoverflow.com/questions/17280076

复制
相关文章

相似问题

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