我遇到了一个奇怪的问题,甚至是WebRequest的行为。首先,这是我正在尝试做的事情:
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
但是,将.NET Framework 3.5设置为我的编译设置会导致以下操作超时:
str2 = req.GetRequestStream()
在设置框架版本为4.0时,一切都正常通过了,没有超时问题。有人知道这是为什么吗?我也尝试了3.0,但也不行。
(在本例中,我使用的是VB.NET,但C#解决方案也可以。)
req.Timeout
设置为比你经历的超时时间更长的值,那么会起作用吗?不过,使用 Fiddler 可以看到它是否真正发送请求以及是否存在任何差异,这点还是要给个赞。 - greg84