Originariamente inviato da MItaly
Il punto è che credo che il grosso del tempo si perda nello stabilire la connessione (risolvere il nome DNS, effettuare la richiesta HTTP) più che nell'effettivo download dei dati, che, usando lo stream in questa maniera, dovrebbe essere comunque ridotto al minimo indispensabile.
Ecco, ho risolto.
Proprio per quello che tu mi dici(la risolta del DNS e la richiesta HTTP), il processo diventa lungo. Ma se io invece di usare prima lo Stream, chiuderlo, e poi ri-fare praticamente il procedimento con WC.DownloadString("URI"), leggo lo stream fino alla fine, lo assegno, e poi lo chiudo?
E' quello che ho fatto, utilizzando il ByRef in una funzione:
codice:
Private Function IsDescription(ByVal myStream As Stream, ByVal str1 As String, ByRef str2 As String) As Boolean
Dim request As String = "URI" & str1
myStream = WC.OpenRead(request)
Dim sr As New StreamReader(myStream)
str2 = sr.ReadToEnd().Replace("<pre>", Nothing).Replace("</pre>", Nothing)
sr.Dispose()
sr.Close()
Dim bool As Boolean = False
If str2.StartsWith("==") Then bool = True Else bool = False
Return bool
End Function
Ecco, e poi nel thread chiamante, scrivo i dati di str2 su di un file 
Grazie ancora per il supporto, e spero che la soluzione vi sia andata a genio :P