Tôi gặp sự cố lạ hoặc thậm chí là hành vi với WebRequest. Trước hết, đây là những gì tôi đang cố gắng để làm:HttpWebRequest chỉ chạy trên .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
Nhưng có NET Khung 3.5 bộ trong cài đặt biên dịch của tôi sẽ dẫn đến một thời gian chờ trong:
str2 = req.GetRequestStream()
trong khi thiết Framework Phiên bản 4.0 hoạt động và mọi thứ trôi qua mà không có bất kỳ vấn đề thời gian chờ nào. Có ai biết tại sao điều này xảy ra không? Tôi đã thử 3.0 là tốt, và nó đã không làm việc hoặc.
(Tôi đang sử dụng VB.NET trong ví dụ này, nhưng C# giải pháp cũng được hoan nghênh.)
Sử dụng công cụ như [Fiddler] (http://www.fiddler2.com/fiddler2/) để xem sự khác biệt trong yêu cầu là gì. Về mặt kỹ thuật, nếu các yêu cầu là chính xác giống nhau, thì máy chủ từ xa không nên biết sự khác biệt để có thể phản hồi theo nhiều cách khác nhau.Hoặc là các yêu cầu khác nhau ở một số điểm nhỏ hoặc các khung công tác khác nhau đang xử lý cùng một phản hồi theo hai cách khác nhau. – mellamokb
ok, tôi sẽ thử Fiddler trong bước đầu tiên. Cảm ơn gợi ý đó – inva
Nếu bạn đặt 'req.Timeout' thành giá trị cao hơn thời gian chờ mà bạn đang gặp phải, nó có hoạt động không? 1 cho fiddler mặc dù, ít nhất bạn có thể xem nếu nó thực sự gửi yêu cầu và nếu có bất kỳ sự khác biệt với nó. – greg84