我正在尝试从网页下载源代码。这是我的代码:
var urlcli = new WebClient();
string sourcecode = urlcli.DownloadString(urltxt.Text.Trim());
在大多数情况下,此代码工作正常; 但是对于某些URL,我收到以下错误:
远程主机强行关闭了现有连接。
您不会释放WebClient
对象。这可能意味着在程序终止并保存打开的连接后,仍有多个WebClient
对象存在。
解决方法是将其包装在using
语句中:
string sourcecode;
using (var urlcli = new WebClient())
{
sourcecode = urlcli.DownloadString(urltxt.Text.Trim());
}
通常,实现 IDisposable 的对象应调用Dispose()
或包装在using
语句中。