2013-05-28 11 views
5

Udostępniam usługę WWW HTTP i jeden z moich użytkowników używa klasy C# WebClient na komputerze z systemem Windows 2003 do pobierania danych z mojej witryny. Mój użytkownik twierdzi, że WebClient tworzy wiele instancji przeglądarki i musi zostać zamknięty. Jak zamknąć przeglądarkę po jej utworzeniu?Jak zamknąć przeglądarkę po utworzeniu klasy C# WebClient?

Jego kod:

Byte[] requestedHTML; 
WebClient client = new WebClient(); 
requestedHTML = client.DownloadData("http://abcabc.com/abc"); 
UTF8Encoding objUTF8 = new UTF8Encoding(); 
string returnMessage = objUTF8.GetString(requestedHTML); 

PS: Przepraszam, jeśli to brzmi amatorsko, jestem nowy w C#.

+2

Proszę nie przepraszać. Wszyscy jesteśmy tutaj, aby się uczyć. –

Odpowiedz

6

WebClientnie użyć przeglądarki - jest to tylko opakowanie wokół podstawowego protokołu. Należy dodać using, ale to nie ma nic wspólnego z „wielu przypadkach przeglądarki”:

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

WebClient klasy w .NET Framework posiada na niektórych zasobów systemowych, które są wymagane do uzyskania dostępu do sieci stos w systemie Microsoft Windows. Zachowanie się CLR zapewni, że zasoby te zostaną ostatecznie oczyszczone.

Jeśli jednak ręcznie zadzwonisz pod numer Dispose lub użyjesz, możesz wyczyścić te zasoby w bardziej przewidywalnych czasach. Może to poprawić wydajność większych programów.

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

Można odwołać tę piękną poradnik: http://www.dotnetperls.com/webclient

+0

Gdybym mógł, również dałbym ci kredyt, ponieważ wysłałeś tę samą odpowiedź niemal natychmiast po Marcu Gravell. :) – Joshua

Powiązane problemy