Tengo un problema extraño o incluso un comportamiento con una WebRequest. En primer lugar, esto es lo que estoy tratando de hacer:HttpWebRequest solo ejecutándose en .NET 4.0
Dim req As HttpWebRequest = CType(Net.WebRequest.Create("https://cloud.myweb.de/myenginge/dostuff"), HttpWebRequest)
Dim inputString As String = "text=DoStuff"
Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes(inputString)
req.Method = "POST"
req.Accept = "application/xml;q=0.9,*/*;q=0.8"
req.ContentType = "application/x-www-form-urlencoded"
req.ContentLength = data.Length
str2 = req.GetRequestStream()
str2.Write(data, 0, data.Length)
str2.Close()
Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
str = resp.GetResponseStream()
buffer = New IO.StreamReader(str, System.Text.Encoding.ASCII).ReadToEnd
Pero tener el .NET 3.5 Marco set en mi configuración de compilación dará lugar a un tiempo de espera en:
str2 = req.GetRequestStream()
mientras que la creación del Marco La versión 4.0 funciona y todo pasa sin ningún problema de tiempo de espera. ¿Sabe alguien por que ha ocurrido esto? Intenté 3.0 también, y tampoco funcionó.
(estoy usando VB.NET en este ejemplo, pero C# soluciones también son bienvenidos.)
Utilice una herramienta como [Fiddler] (http://www.fiddler2.com/fiddler2/) para ver cuáles son las diferencias en la solicitud. Técnicamente, si las solicitudes son exactamente idénticas, entonces el servidor remoto no debería saber la diferencia para poder responder de diferentes maneras.O las solicitudes son diferentes en algún punto menor, o los diferentes marcos están manejando la misma respuesta de dos maneras diferentes. – mellamokb
bien, voy a probar Fiddler en un primer paso. Gracias por esa pista – inva
Si estableces 'req.Timeout' en un valor mayor que el tiempo de espera que estás experimentando, ¿funciona entonces? Sin embargo, +1 para el violinista, al menos se puede ver si realmente está enviando la solicitud y si hay alguna diferencia con ella. – greg84