目前我正在开发一个应用程序,它从Twitter api读取流并将其解析为对象。 目前我读取了流并使用DataContractJsonSerializer中的ReadObject来制作我的对象。
这很棒!
但是: 我有点担心,当我的程序赶上流(互联网速度慢或没有)时会发生什么事情,并且没有足够的数据来解析......该方法可能会引发异常,但是我想要等待新数据,然后重试相同的对象并继续。
此外,我想知道如何使方法更稳定,以防损坏的数据进入流或类似的东西。
提前感谢任何答案/想法:)
答案 0 :(得分:0)
如果您的程序赶上了Twitter提要,DCJS应该阻止,直到您获得足够的数据来完成阅读。这通常不是一个问题,因为流旨在隐藏读者的延迟。
更有可能的是你不会赶上,而是继续落后直到你的内存耗尽,抛出一个OOME,程序就会崩溃。
我建议而不是尝试动态解析流,将其写入类似文件的内容并从中读取(甚至可以并行使用滚动文件或其他内容)。