如何在创建C#WebClient类后关闭浏览器?

6

我提供一个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);

抱歉如果我听起来有些业余,我对C#非常新手。


2
请不要道歉。我们都是来这里学习的。 - Soner Gönül
2个回答

8

WebClient并不使用浏览器 - 它只是底层协议的包装器。你应该添加一个using,但这与“多个浏览器实例”无关:

using(WebClient client = new WebClient())
{
    return client.DownloadString("http://abcabc.com/abc");
}

2
在.NET Framework中,WebClient类保留了一些系统资源,这些资源用于访问Microsoft Windows中的网络堆栈。CLR的行为将确保这些资源最终被清理。
然而,如果您手动调用Dispose或使用using语句,则可以使这些资源在更可预测的时间被清理。这可以提高大型程序的性能。
using(WebClient client = new WebClient())
{
    // Do your operations here...
}

你可以参考这个非常好的教程:http://www.dotnetperls.com/webclient

如果可以的话,我也会给你点赞的,因为你几乎是在Marc Gravell之后立即发布了相同的答案。 :) - Joshua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接