我目前正在尝试从Silverlight应用程序中确定可用磁盘空间。
我的应用程序可以下载大量数据(视频文件),显然,如果磁盘空间不存在,这可能会失败。 我知道我可以捕获写入的异常,但这不会导致非常友好的用户体验,因为信息来得太晚而导致无用的等待。
在常规.NET中,我将使用DriveInfo
(请参阅How do I retrieve disk information in C#?作为示例),但从Silverlight 5开始,该类不存在,即使在提升信任模式下也是如此。
那么,有没有办法确定Silverlight中驱动器上的可用空间?
更新:
答案 0 :(得分:1)
有一些用Silverlight编写的文件浏览器演示,但它们会以提升的信任运行。
这意味着您必须在首次运行时立即让用户对您的应用程序产生怀疑。
当用户用完空间时,只有一个措辞好的错误消息可能是更好的用户体验。
另一种选择是尝试通过可用的最大视频大小来增加隔离存储配额。
然后当失败时,让用户知道如果他可能需要删除较旧的视频,则无法为该应用分配更多空间。
答案 1 :(得分:0)
我在这里添加我的答案来总结我的发现:
TL / DR:没有简单的方法可以获得跨平台的Silverlight 5(Windows / Mac OS)中的可用磁盘空间。
DriveInfo
,此处不考虑提升的权限。