答案 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个字符。
在这种情况下我见过两种不同的失败模式:
尝试创建一个总路径长度(基本路径加上新路径)长度超过260个字符的目录。这导致IsolatedStorageFile.CreateDirectory引发PathToLongException
尝试使用IsolatedStorageFileStream创建文件,其中总路径长度(基本路径加内部路径加文件名)大于260个字符。这会导致IsolatedStorageFileStream构造函数引发IsolatedStorageException(IsolatedStorage_Operation_ISFS)。
据我所知,除了捕捉异常并继续进行之外,这个问题没有真正的解决方案。这是Silverlight的一个不幸的限制。
这里有一篇关于这个问题的好文章:
答案 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选项卡,您可以删除其中列出的任何或所有站点。我删除了有问题的网站,并且下次能够正确使用。