我正在尝试从网页下载源代码。这是我的代码:
using (var stream = new MemoryStream())
{
thumbnail.Save(stream); // you get the idea
stream.Position = 0; // <- is this needed?
WriteStreamToDisk(stream);
}
在大多数情况下,此代码工作正常;但对于某些网址,我收到以下错误:
远程主机强行关闭现有连接。
答案 0 :(得分:2)
您没有处置WebClient
对象。这可能意味着在程序终止并保持打开连接后,仍有多个WebClient
个对象存在。
修复方法是将其包装在using
语句中:
string sourcecode;
using (var urlcli = new WebClient())
{
sourcecode = urlcli.DownloadString(urltxt.Text.Trim());
}
通常,实现IDisposable的对象应该调用Dispose()
或包含在using
语句中。