2012-06-09 5 views
0

ниже код занимает от 150 до 200 секунд для чтения данных (фактические данные моего ответа очень большие) Просьба предоставить альтернативу для решения этой проблемы.HttpwebRequest и время отклика ответа

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 
+1

Что такое «очень большой»? Если у вас очень быстрая связь, большой = медленный. –

+0

Я думаю, что вы должны постоянно отвечать на ваши ответы, даже если StatusCode не был в порядке – ivowiblo

ответ

Смежные вопросы