最近我遇到了一个非常奇怪的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();
}
有人可以帮忙解决这个问题吗?感谢
答案 0 :(得分:1)
我相信4096字符限制与http电话有关,因此我会考虑进一步调查。
答案 1 :(得分:0)
这听起来就像当您获得DocumentText页面尚未完全加载时。我认为WebBrowser在其加载完成时抛出一个事件(DocumentCompleted
)。您应该在该事件的处理程序中进行文本转储。