我遇到問題。這部分代碼在〜1min後返回System.OutOfMemoryException
錯誤。但我無法找到導致此錯誤的原因。如果有人告訴我這個問題的原因以及如何解決,我會很高興。我的線程的線程中的System.OutOfMemoryException
部分:
public void Run(object client)
{
TextBox tbServerResult = (client as Client).Controls.Find("tbServerResult", true).SingleOrDefault() as TextBox;
Client tt = new Client();
for (int i = 0; i < 1; i--)
{
Thread.Sleep(10000);
string result = tt.SendGet("xyz" + tt.getToken() + "");
tbServerResult.AppendText(result);
}
}
SendGet方法:
public string SendGet(string url)
{
string webpageContent = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
{
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
webpageContent = reader.ReadToEnd();
}
//tbServerResult.AppendText("\r\n" + "Server code:" + webResponse.StatusCode + " Server status description:" + webResponse.StatusDescription);
webpageContent = "Server code:" + webResponse.StatusCode + " Server status description:" + webResponse.StatusDescription;
}
}
catch (Exception ex)
{
webpageContent = ex.Message;
}
return webpageContent;
}
你能指出哪一行會引發異常嗎?你也可以顯示你正在請求的URL – Nickon
除了'reader.ReadToEnd()'我沒有看到任何可能的候選人OutOfMemoryException,但即使如此,這將意味着一些非常快速的下載,如果它在1分鐘... – Thorarin
看起來像非GUI線程中的GUI操作一樣可疑。 –