【问题标题】:How to close browser after creating C# WebClient class?创建 C# WebClient 类后如何关闭浏览器?
【发布时间】:2013-05-28 07:07:50
【问题描述】:

我提供了一个 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# 很陌生。

【问题讨论】:

  • 请不要道歉。我们都在这里学习。

标签: c# webclient


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    .NET Framework 中的 WebClient 类保存了一些系统资源,这些资源是访问 Microsoft Windows 中的网络堆栈所需的。 CLR 的行为将确保最终清理这些资源。

    但是,如果您手动调用Dispose 或使用using-statement,则可以在更可预测的时间清理这些资源。这可以提高大型程序的性能。

    using(WebClient client = new WebClient())
    {
        // Do your operations here...
    }
    

    你可以参考这个漂亮的教程:http://www.dotnetperls.com/webclient

    【讨论】:

    • 如果可以的话,我也会感谢您,因为您几乎在 Marc Gravell 之后立即发布了相同的答案。 :)
    猜你喜欢
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 2016-11-11
    • 2014-02-08
    相关资源
    最近更新 更多