我有一个来自外部网络服务的搜索功能。 搜索大约需要3秒才能搜索一天的数据以返回记录数。 要求不断搜索数据一个月。
因此进行正常搜索是不明智的(大约需要90秒)。
我想用开始和结束日期作为参数进行搜索功能,并返回记录数。 并在for循环中调用此函数(更改日期范围)并在完成后对记录求和。
我认为最好的方法是进行任务或线程化。但我无法成功完成这一任务。
因此需要3秒而不是90秒。
任何帮助都会占用很多。
答案 0 :(得分:0)
如果我正确地阅读你的问题,这应该让你开始:
Module modSum
Private mSum As Integer
Public Property Sum() As Integer
Get
Return mSum
End Get
Set(ByVal value As Integer)
mSum = value
End Set
End Property
Public Sub DoSum()
For i = 1 To 30
Dim dateToQuery As Date
dateToQuery = Date.Parse("2013-02-" & i.ToString)
Dim sc As New WebserviceCall
sc.startdate = "2013-01-01"
sc.enddate = "2013-01-31"
Dim th As New Threading.Thread(AddressOf sc.DoServiceCall)
th.Start()
Next
End Sub
Public Class WebserviceCall
Public startdate As Date
Public enddate As Date
Public Sub DoServiceCall()
Dim ws As New YourService.Service
Dim result As Integer = ws.GetSum(startdate, enddate)
mSum += result
End Sub
End Class
End Module