VB.Net WebClient.DownloadFile()非常慢

时间:2014-12-20 13:04:28

标签: vb.net performance webclient downloadfile

我需要使用来自Yahoo API的历史报价来创建一个数据库,它返回一个.csv文件,因此我使用webclient.downloadfile开发了一个VB.NET项目来获取csv然后将数据填充到我自己的SQL数据库中。

我的代码工作正常,但我遇到的问题是,在每个循环期间下载文件本身的过程需要10到30秒。在阅读了很多线程之后我已经添加了

(WebClient).Proxy = Nothing 

表单加载,但这根本没有帮助。

如果我要在浏览器(IE / Chrome)中下载这些文件,则在保存对话框出现之前只需不到一秒钟。

以下是我用来完成此任务的内容,省略了不重要的代码:

Dim GetIDCMD As String = "select StockID from dbo.[BaseData] where MarketType = 'SHA'"
Dim GetIDAdpt As SqlDataAdapter = New SqlDataAdapter(GetIDCMD, conn)
Dim DT As New DataSet
GetIDAdpt.Fill(DT, "Set")

For i = 0 To DT.Tables("Set").Rows.Count - 1 Step 1
    StockID = StrDup(6 - Len(DT.Tables("Set").Rows(i).Item(0).ToString), "0") & Trim(DT.Tables("Set").Rows(i).Item(0).ToString)
    Dim urlcsv = "http://ichart.yahoo.com/table.csv?s=" & StockID & ".ss&a=00&b=01&c=2004&d=" & Now.Month - 1 & "&e=" & Now.Day & "&f=" & Now.Year & "&g=d"
    '  sample URL     http://ichart.yahoo.com/table.csv?s=600030.ss&a=00&b=01&c=2004&d=11&e=15&f=2014&g=d&ignore=.csv   
    Try
        WEB.DownloadFile(urlcsv, "TEMP.csv")
        success = True

        '''

    Catch ex As Exception
        templog = Mid(ex.ToString(), 1, InStr(ex.ToString, vbCrLf)) & vbCrLf
        success = False

        '''

    End Try
    If success = True Then


        '''


    End If
Next

这有什么可以做我的互联网连接设置吗?

如果我使用HttpWebRequest会更快吗?

0 个答案:

没有答案