时间:2010-07-25 21:53:30

标签: silverlight

3 个答案:

答案 0 :(得分:7)

这意味着您在Silverlight隔离存储中达到了文件长度限制。隔离存储的基本存储位置可以位于具有非常长名称的路径中 - 它看起来像:

C:\\Users\\kevind\\AppData\\LocalLow\\Microsoft\\Silverlight\\is\\1325qaxz.ekn\\xyro13wm.cn0\\1\\s\\qc4wuhalx4ciu4u5hbqqfohd3y3y4m1guyj5xuv5ml5y5qjbjmaaaeea\\f

(在XP上可以更长,其中基础是C:\ Documents and Settings)

鉴于此,达到260个字符的文件路径限制并不需要太多。基本路径加上内部路径(内部隔离存储)加上文件名必须少于260个字符。

在这种情况下我见过两种不同的失败模式:

  1. 尝试创建一个总路径长度(基本路径加上新路径)长度超过260个字符的目录。这导致IsolatedStorageFile.CreateDirectory引发PathToLongException

  2. 尝试使用IsolatedStorageFileStream创建文件,其中总路径长度(基本路径加内部路径加文件名)大于260个字符。这会导致IsolatedStorageFileStream构造函数引发IsolatedStorageException(IsolatedStorage_Operation_ISFS)。

  3. 据我所知,除了捕捉异常并继续进行之外,这个问题没有真正的解决方案。这是Silverlight的一个不幸的限制。

    这里有一篇关于这个问题的好文章:

    http://msdn.microsoft.com/en-us/magazine/dd458794.aspx

答案 1 :(得分:0)

实际上没有具有相同参数列表的IsolatedStorageFileStream的构造函数:

  

System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(字符串   path,FileMode模式,FileAccess   访问,FileShare共享, Int32   bufferSize ,IsolatedStorageFile isf)

Int32 bufferSize参数在这里真的很多。请检查documentation中的IsolatedStorageFileStream构造函数 我认为有一些第三方组件试图使用不受支持的IsolatedStorageFileStream构造函数。

答案 2 :(得分:0)

我实际上有这个问题并修复它我清除了我的Silverlight缓存。如果你要编程文件 - >单击Microsoft Silverlight并单击Application Storage选项卡,您可以删除其中列出的任何或所有站点。我删除了有问题的网站,并且下次能够正确使用。