Webrequest下载速度更快(用Google搜索了几天)

时间:2014-07-24 08:03:39

标签: php vb.net performance webrequest

我正致力于从服务器下载多达5000个单独数据的项目。它基本上是一个PHP页面,它接受POST变量,从数据库获取数据并将其发送回.NET客户端。

很慢。每个请求大约需要1秒钟。我已经搜索了很多东西并对代码进行了各种调整,比如着名的代理设置等。但是没有什么可以加速它。

任何想法?欢迎所有使这种超快速的解决方案。甚至可以用C编写的DLL或任何你能想到的东西。这只需要更快。

Public Function askServer(oCode As String) As String

    oBytesToSend = Encoding.ASCII.GetBytes("cmd=" & System.Web.HttpUtility.UrlEncode(oCode))

    Try
        oRequest = WebRequest.Create(webServiceUrl)
        oRequest.Timeout = 60000
        oRequest.Proxy = WebRequest.DefaultWebProxy
        CType(oRequest, HttpWebRequest).UserAgent = "XXXXX"
        oRequest.Method = "POST"
        oRequest.ContentLength = oBytesToSend.Length
        oRequest.ContentType = "application/x-www-form-urlencoded"

        oStream = oRequest.GetRequestStream()
        oStream.Write(oBytesToSend, 0, oBytesToSend.Length)

        oResponse = oRequest.GetResponse()
        If CType(oResponse, HttpWebResponse).StatusCode = Net.HttpStatusCode.OK Then
            oStream = oResponse.GetResponseStream()
            oReader = New StreamReader(oStream)
            oResponseFromServer = oReader.ReadToEnd()
            oResponseFromServer = System.Web.HttpUtility.UrlDecode(oResponseFromServer)
            Return oResponseFromServer
        Else
            MsgBox("Server error", CType(vbOKOnly + vbCritical, MsgBoxStyle), "")
            Return ""
        End If

    Catch e As Exception

        MsgBox("Oops" & vbCrLf & e.Message, CType(vbOKOnly + vbCritical, MsgBoxStyle), "")
        Return ""

    End Try

End Function

1 个答案:

答案 0 :(得分:0)

一些想法:

  • 并行运行http请求。 (客户端)
  • 如果数据响应大小允许它获取一个请求中所需的所有数据(您需要更改服务器实现)。
  • 缓存数据。 (服务器)