2013-05-28 6 views
5

Я предоставляю HTTP-службу, и один из моих пользователей использует класс C# WebClient на компьютере под управлением Windows 2003 для извлечения данных с моего сайта. Мой пользователь говорит, что WebClient создает множество экземпляров браузера и должен быть закрыт. Как он может закрыть браузер после его создания?Как закрыть браузер после создания класса C# 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#.

+2

Пожалуйста, не извиняться. Мы все здесь для обучения. –

ответ

6

WebClientне использует браузер - это просто обертка вокруг базового протокола. Вы должны добавить using, но это не имеет ничего общего с «многими случаями браузера»:

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

WebClient класса в .NET Framework выполняется на некоторых системные ресурсы, которые необходимы для доступа к сети стек в Microsoft Windows. Поведение CLR обеспечит очистку этих ресурсов.

Однако, если вы вручную вызываете Dispose или используете using-statement, вы можете очистить эти ресурсы в более предсказуемое время. Это может улучшить производительность больших программ.

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

Вы можете передать этот прекрасный учебник: http://www.dotnetperls.com/webclient

+0

Если бы я мог, я бы также дал вам кредит, так как вы отправили тот же ответ почти сразу после Марка Гравелла. :) – Joshua

Смежные вопросы