【发布时间】:2017-01-15 15:52:49
【问题描述】:
我需要让它在线程中工作,例如,thread1用'order_id=1'调用url,thread2用'order_id=2'调用url等等,然后将结果写入文件.
代码如下:
Public Sub download()
Dim address As String = "http://www.example.com/sales.php&order_id="
Dim FILE_NAME As String = "D:\Folder\Licenses.txt"
Dim index As Integer = 0
Do While index <= 100
If index > 100 Then
Exit Do
End If
Try
Dim request As WebRequest = WebRequest.Create(address & index.ToString)
Dim response As WebResponse = request.GetResponse()
If CType(response, HttpWebResponse).StatusDescription = "OK" Then
Dim dataStream As Stream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
If Not File.Exists(FILE_NAME) Then
Using sw As StreamWriter = File.CreateText(FILE_NAME)
sw.WriteLine(responseFromServer)
index += 1
End Using
ElseIf File.Exists(FILE_NAME) Then
Using sw As StreamWriter = File.AppendText(FILE_NAME)
sw.WriteLine(responseFromServer)
index += 1
End Using
End If
End If
Catch ex As Exception
End Try
Loop
End Sub
【问题讨论】:
-
你需要按id排序的输出文件吗?
-
并非如此。它应该保存在一个文件中。
-
请永远不要写
Catch ex As Exception- 特别是使用空的catch块。否则,您似乎在尝试编写错误代码。 -
另外,
response、dataStream和reader都需要处理。
标签: vb.net multithreading streamwriter