我提供HTTP Web服务,我的一个用户在Windows 2003计算机上使用C#WebClient类从我的网站检索数据。我的用户说WebClient正在创建许多浏览器实例,需要关闭。如何在创建浏览器后关闭浏览器?
他的代码:
Byte[] requestedHTML;
WebClient client = new WebClient();
requestedHTML = client.DownloadData("http://abcabc.com/abc");
UTF8Encoding objUTF8 = new UTF8Encoding();
string returnMessage = objUTF8.GetString(requestedHTML);
P.S。抱歉,如果这听起来很业余,我对C#很新。
答案 0 :(得分:7)
WebClient
不使用浏览器 - 它只是底层协议的包装器。您应该添加using
,但这与“许多浏览器实例”无关:
using(WebClient client = new WebClient())
{
return client.DownloadString("http://abcabc.com/abc");
}
答案 1 :(得分:2)
.NET Framework中的 WebClient 类保留了访问Microsoft Windows中的网络堆栈所需的一些系统资源。 CLR的行为将确保最终清理这些资源。
但是,如果您手动拨打Dispose
或使用using-statement
,则可以在更加可预测的时间清理这些资源。这可以提高大型程序的性能。
using(WebClient client = new WebClient())
{
// Do your operations here...
}
您可以参考这个精美的教程:http://www.dotnetperls.com/webclient