IsolatedStorageFile.GetUserStoreForApplication()。AvailableFreeSpace错了?

时间:2011-10-28 08:31:10

标签: windows-phone-7 isolatedstorage windows-phone-7.1

我最近在WP7设备上将大量数据下载到隔离存储时遇到了问题,因为在下载过程中会丢失大量可用空间。

更具体地说,我在下载前检查可用空间,比方说,它是1.8 GB;然后我开始下载,当我达到大约1.1 GB时,我得到一个低磁盘空间警告弹出窗口,不久之后写入磁盘失败并出现IOException。

因此我的设备(HTC Mozart 7)占用了大约700 MB的空间。在我的所有测试中,这个值似乎都是一致的。

此外,IsolatedStorageFile.GetUserStoreForApplication()。在引发IOException之后,AvailableFreeSpace返回接近零,因此显然存储已满。

任何其他信息/提示将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:0)

您使用HttpWebRequest下载文件吗?如果是,请尝试将HttpWebRequest.AllowReadStreamBuffering属性设置为false。默认值为true。

您应该阅读该属性文档的“备注”部分,以查看将此设置为false是否与您的应用程序的需求相匹配,因为它会影响回调发生的时间。

答案 1 :(得分:0)

这绝对是缓存占用磁盘空间。为了转移如此大量的数据,您应该查看除HTTP之外的协议,毕竟它最初仅用于网页下载。我个人会看ftp,否则你将不得不考虑将数据分成更易于管理的块。

答案 2 :(得分:0)

我觉得它失败了,因为你已超过了你在zune中为你的设备设置的阈值限制。请参考下面的截图。如果发生这种情况,请重新检查该值,然后重试。另请注意,即使将其设置为0%,手机仍然会保留约300-500MB左右的日期(enter image description here