Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight 4资源流或Json Xml字典读取器中的明显错误_C#_Json_Silverlight - Fatal编程技术网

C# Silverlight 4资源流或Json Xml字典读取器中的明显错误

C# Silverlight 4资源流或Json Xml字典读取器中的明显错误,c#,json,silverlight,C#,Json,Silverlight,我在Silverlight 4中遇到了一个感觉像是bug的问题,因为我在MSDN文档中找不到任何说明这不应该工作的内容,但它正在使我的应用程序崩溃: var info = Application.GetResourceStream(DocumentUri); using (var stream = info.Stream) using (var reader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryRead

我在Silverlight 4中遇到了一个感觉像是bug的问题,因为我在MSDN文档中找不到任何说明这不应该工作的内容,但它正在使我的应用程序崩溃:

var info = Application.GetResourceStream(DocumentUri);

using (var stream = info.Stream)
using (var reader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max))
{
    // Content doesn't matter, could be empty.
}
此块的最终结果是来自
MS.Internal.InternalMemoryStream.Flush的
NotSupportedException
Stream.Flush
的文档记录有点不足,但这意味着在调用
Flush
之前,封闭的读卡器应该调用
Stream.CanSeek
和/或
Stream.CanWrite

如果有其他人遇到过这个问题,我将非常感谢您提供的任何参考资料


编辑:我上传了一个正在崩溃的最小项目:

我现在能够重现您的错误。我同意你的观点,这是Silverlight中的一个bug。很简单,对于从
MS
System
命名空间下的类中深层抛出NotSupportedException,没有其他合理的解释

尽管如此,如果我将
document.json
文件的构建操作更改为Resource而不是Content,并将用于读取文件的URI更改为如下所示,我发现您的代码仍然有效:

var info = Application.GetResourceStream(new Uri("/HelloApp;component/document.json", UriKind.Relative));

我无法重现你的错误。它是特定于某些JSON文档的吗?我想可能是的,因为工厂方法确实需要一个流,但我根本没有读取流,所以我很惊讶这会产生不同。但是我会做更多的测试。发布
DocumentUri
文件的内容。可能json标记无效。我确信该文件是有效的json,因为DataContractJsonSerializer可以解析它。我刚刚重新测试过,包含空对象“{}”的最小JSON文档将导致错误。正在寻找一个地方张贴我的样本项目。谢谢。不幸的是,出于许多原因,我无法使用资源包来实现此目的,但我感谢您的确认。我已尝试在此处报告此错误: