Uso C#.C# primera vez que uso GetRequestStream() toma 20 segundos
La primera vez que uso WebRequest GetRequestStream() en mi código, demora hasta 20 segundos. Después de eso, toma menos de 1 segundo.
A continuación se muestra mi código. La fila "this.requestStream = httpRequest.GetRequestStream()" está causando el retraso.
StringBuilder postData = new StringBuilder(100);
postData.Append("param=");
postData.Append("test");
byte[] dataArray = Encoding.UTF8.GetBytes(postData.ToString());
this.httpRequest = (HttpWebRequest)WebRequest.Create("http://myurl.com");
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
httpRequest.ContentLength = dataArray.Length;
this.requestStream = httpRequest.GetRequestStream();
using (requestStream)
requestStream.Write(dataArray, 0, dataArray.Length);
this.webResponse = (HttpWebResponse)httpRequest.GetResponse();
Stream responseStream = webResponse.GetResponseStream();
StreamReader responseReader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
String responseString = responseReader.ReadToEnd();
¿Cómo puedo ver las causas? (Por ejemplo: búsqueda de DNS El servidor no responde?)
Gracias y saludos, Koen
En realidad, es un problema relacionado con la red VMWare NAT. Aún así creo que es extraño. – koen
No veo el gran retraso la primera vez, pero parece crecer con cada solicitud. GetRequestStream tarda aproximadamente el doble que GetResponse. –
(Establecer Proxy a null no parece ayudar mucho.) –