2010-09-03 153 views

回答

8

恭喜,您发现了.NET框架中的一个错误。它由十六进制中的字节值0xef引起。这是UTF-8 BOM的第一个字节。这当然不是一个完整的BOM,接下来的两个字节丢失了。然而,它足以使StreamReader发生混淆,它一直试图从数据流中读取数据,而没有到达任何地方,在尝试时耗费内存。 OOM最终是下一个。

此错误也出现在.NET 4.0中。错误的确切来源很难追踪,所涉及的代码不包含在参考源中。它可能被分类为一个关键的因为它可以用于DOS攻击。您可以在connect.microsoft.com上报告该错误。让我知道如果你不想,我会报告它(MVP税)。

+0

已打开的错误#594588 – skb 2010-09-03 21:23:10

+0

Upvoted。 URL:http://connect.microsoft.com/VisualStudio/feedback/details/594588/why-does-streamreader-readline-throw-outofmemoryexception – 2010-09-03 21:32:15

相关问题