Tôi có một số mã khá đơn giản tải lên ảnh hoặc video tới điểm cuối (sử dụng HTTP PUT hoặc POST). Mỗi khi tôi thường thấy kết nối đóng cửa ngoại lệ ném, và trong thực tế các hình ảnh/video đã được tải lên tốt, nó gọi GetResponse nơi ngoại lệ xảy ra.Tại sao HttpWebRequest GetResponse chặn trong một thời gian dài như vậy?
Một điều tôi nhận thấy là GetResponse có thể mất nhiều thời gian để xử lý. Thường dài hơn thời gian tải lên thực tế của ảnh lên máy chủ. Mã của tôi ghi vào máy chủ web bằng cách sử dụng RequestStream.Write.
Tôi đã làm một bài kiểm tra nhỏ và tải lên khoảng 40 ảnh/video cho máy chủ có kích thước từ 1MB đến 85MB và thời gian để GetResponse trở lại là từ 3 đến 40 giây.
Câu hỏi của tôi là, điều này có bình thường không? Đây có phải chỉ là vấn đề máy chủ tôi tải lên các tệp này trong bao lâu để xử lý yêu cầu của tôi và trả lời? Khi xem xét các dấu vết của Fidder HTTP, nó có vẻ như vậy.
FYI, cập nhật của tôi là HTTP 1.0, giá trị Timeout thiết lập để Infinite (cả Timeout và ReadWriteTimeout)
Omar: Nếu bạn nhấp chuột phải vào một phiên trong Fiddler và chọn "Properties", bạn có thể xem bộ sưu tập Thời Gian cho phiên đó.Hai giá trị thú vị là "ServerGotRequest" và "ServerBeginResponse". Đồng bằng giữa chúng là gì? – EricLaw