Vb.net HttpwebRequest和response需要时间

Vb.net HttpwebRequest和response需要时间,vb.net,Vb.net,下面的代码读取数据需要150到200秒(实际上我的响应数据非常大) 请提供解决此问题的备选方案。 Protected Function PostXml(ByVal url As String, ByVal xml As String) As String Dim strResult As String = String.Empty Dim bytes As Byte() = Encoding.UTF8.GetBytes(xml) Dim request

下面的代码读取数据需要150到200秒(实际上我的响应数据非常大) 请提供解决此问题的备选方案。

Protected Function PostXml(ByVal url As String, ByVal xml As String) As String     
    Dim strResult As String = String.Empty   
    Dim bytes As Byte() = Encoding.UTF8.GetBytes(xml) 
    Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)     
    request.Method = "POST"    
    request.ContentLength = bytes.Length    
    request.ContentType = "text/xml"   

    Using requestStream As Stream = request.GetRequestStream()    
            requestStream.Write(bytes, 0, bytes.Length)    
    End Using    

    Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)   

         If response.StatusCode <> HttpStatusCode.OK Then   
                Dim message As String = [String].Format("POST failed. Received HTTP {0}", response.StatusCode)   
                Throw New ApplicationException(message)   

         Else   
                Dim reader As StreamReader = Nothing    
                Dim responseStream As Stream = response.GetResponseStream()    
                reader = New StreamReader(responseStream, Encoding.Default)    
                **strResult = reader.ReadToEnd()  'Here is taking to much time**     
                response.Close()    
                responseStream.Close()     
                reader.Close()     
          End If     
    End Using
受保护的函数PostXml(ByVal url作为字符串,ByVal xml作为字符串)作为字符串
Dim strResult As String=String.Empty
Dim bytes As Byte()=Encoding.UTF8.GetBytes(xml)
Dim请求作为HttpWebRequest=DirectCast(WebRequest.Create(url),HttpWebRequest)
request.Method=“POST”
request.ContentLength=bytes.Length
request.ContentType=“text/xml”
使用requestStream作为Stream=request.GetRequestStream()
requestStream.Write(字节、0、字节、长度)
终端使用
使用响应作为HttpWebResponse=DirectCast(request.GetResponse(),HttpWebResponse)
如果response.StatusCode HttpStatusCode.OK,则
Dim消息为字符串=[String]。格式(“POST失败。收到HTTP{0}”,响应。状态码)
抛出新的ApplicationException(消息)
其他的
将读卡器变暗为StreamReader=无
Dim responseStream As Stream=response.GetResponseStream()
reader=新的StreamReader(responseStream,Encoding.Default)
**strResult=reader.ReadToEnd()'这里花费了很多时间**
答复:Close()
responseStream.Close()
reader.Close()
如果结束
终端使用

如果要控制响应(url指向您管理的服务器),可以打开GZIP压缩


什么是“非常大”?除非你有一个非常快的链接,否则large=slow。我认为你应该一直关闭你的响应,即使状态代码不正常