C#字符串4096限制?

时间:2012-12-11 02:35:39

标签: c# string

最近我遇到了一个非常奇怪的C#字符串问题。我尝试到处搜索,但找不到解决方案。如果这个问题太简单,请耐心等待,因为我对C#很新。

我使用了一个c#字符串变量来保存来自webbrowser的html文本。

string webresult = webBrowser1.DocumentText;

不知何故,它只保存html文本中的前4096个字节。 我用:

Console.Out.WriteLine (webresult.Length);

并且控制台的输出为4096。

但是如果我把它转储到一个文件中,所有其余的html文件都会正常输出。

FileStream fileStream = new FileStream(@"web.html", FileMode.OpenOrCreate, FileAccess.Write);
try
{
    // read from file or write to file
    StreamWriter m_streamWriter = new StreamWriter(fileStream);                
    m_streamWriter.WriteLine("{0}", str);
    m_streamWriter.Flush();
}
finally
{
    fileStream.Close();
}

有人可以帮忙解决这个问题吗?感谢

2 个答案:

答案 0 :(得分:1)

我相信4096字符限制与http电话有关,因此我会考虑进一步调查。

答案 1 :(得分:0)

这听起来就像当您获得DocumentText页面尚未完全加载时。我认为WebBrowser在其加载完成时抛出一个事件(DocumentCompleted)。您应该在该事件的处理程序中进行文本转储。