tôi biết câu hỏi của nó là noob, nhưng chỉ muốn biết liệu GetResponseStream()
có thể trả về null trong mọi trường hợp không?Có thể WebResponse.GetResponseStream() trả về giá trị rỗng không?
Trả lời
Vâng, đó là loại lên đến lớp con cụ thể - nhưng tôi chưa bao giờ thấy bất kỳ phân lớp nào làm như vậy và không được ghi lại làm giá trị trả lại hợp lệ. Tôi chưa bao giờ thấy bất kỳ mã nào được viết để phòng thủ kiểm tra điều này, và tôi không mong đợi. Đó không phải là để nói rằng mã như vậy không tồn tại, nhưng tôi không nghĩ rằng nó là cần thiết.
Nếu không có nội dung nào trong phản hồi (nhưng phản hồi đã thành công), tôi mong đợi mọi triển khai tốt sẽ trả về luồng trống.
nơi bạn tìm thấy "null" không được ghi nhận là giá trị trả lại hợp lệ? Bạn có thể cho tôi liên kết được không? – iotaSingh
@ iotaSingh: Làm thế nào tôi có thể cung cấp cho bạn một liên kết? Tôi đã nói * không được ghi lại *. Tôi không nói rằng nó được ghi nhận là không phải là một giá trị trả lại hợp lệ, tôi nói nó không được ghi nhận là một giá trị trả lại hợp lệ. Đó là những câu lệnh * rất * khác nhau. –
Không có loại được tích hợp có nguồn gốc từ WebResponse
, cụ thể là HttpWebResponse
, có thể trả về giá trị rỗng. Niềm tin mê tín dị đoan này đã làm sai lệch nhiều nhà phát triển. Đừng kiểm tra null. Mã như vậy là mã chết.
Điều gì sẽ vô giá trị trung bình so với trả lại luồng trống? Điều này không có ý nghĩa.
Ngoài ra, GetResponse()
không thể trả về giá trị rỗng. Một lần nữa, nghĩa là gì? Giao thức HTTP không hỗ trợ khái niệm "phản hồi null". Nếu điều đó xảy ra do một lỗi thư viện thì không thể xử lý tình huống đó được. Bất kỳ kiểm tra như vậy không giúp đỡ.
Có thể tạo các lớp bắt nguồn từ WebResponse
trả về một giá trị điên như null
. Không có lớp được xây dựng trong đó làm điều đó và nó nên được coi là một lỗi để trả lại null
. Các lớp học có nguồn gốc từ WebResponse
là rất hiếm. Tôi chưa thấy cái này bao giờ.
Dưới đây là một mã số mẫu tốt để sử dụng:
var request = WebRequest.Create("http://example.org/");
using (var response = request.GetResponse())
using (var responseStream = response.GetResponseStream())
using (var responseReader = new StreamReader(responseStream))
{
var contents = responseReader.ReadToEnd();
}
Nó thể hiện cách ngắn gọn và an toàn đọc nội dung của một URL HTTP sử dụng HttpWebRequest
.
- 1. GetTemplateChild luôn trả về giá trị rỗng
- 2. lấy phương thức hashmap không trả về giá trị rỗng
- 3. So sánh NaN và trả về rỗng illogic giá trị
- 4. Một Runnable có thể trả về một giá trị không?
- 5. Truy vấn SUM Chọn của tôi trả về giá trị rỗng. Nó sẽ trả về 0
- 6. Tôi có thể cập nhật giá trị INT + 1 và trả về giá trị mới không?
- 7. Nút JavascriptValue trả lại giá trị rỗng
- 8. Tại sao phần bên trái của tôi không trả về giá trị rỗng?
- 9. Scala getClass.getResource() trả về rỗng
- 10. getResourceAsStream() trả về giá trị rỗng. Tệp thuộc tính không tải
- 11. Chức năng trả về giá trị không có lệnh return
- 12. Log.isLoggable có trả về giá trị sai không?
- 13. Kênh của Go có trả về hai giá trị không?
- 14. Giá trị trả về Mybatis
- 15. Trả lại không trả về giá trị biến
- 16. XPath: chọn thẻ có giá trị rỗng
- 17. JQuery val() trả về chuỗi rỗng
- 18. Có thể một hàm có nhiều kiểu giá trị trả về trong PHP không?
- 19. tại sao tệp Files.probeContentType trả lại giá trị rỗng
- 20. Giá trị nào mà một hàm khởi tạo có thể trả về để tránh trả lại giá trị này?
- 21. Chuỗi con của MySQL trả lại giá trị rỗng
- 22. JSON có nên bao gồm các giá trị rỗng không
- 23. Điều gì khiến ContentResolver.query của Android() trả về giá trị rỗng?
- 24. Bản đồ Java trả về giá trị rỗng cho một khóa hiện tại
- 25. rỗng ($ _ POST [ 'var']) trả về true khi giá trị đầu vào là '0'
- 26. CreateFile có thể trả về NULL không?
- 27. Có khả năng Java String.split có thể trả về một chuỗi rỗng []
- 28. phương thức query.list() hibernate trả về danh sách trống thay vì giá trị rỗng
- 29. jQuery.ajax gọi tới Twitter thành công nhưng trả về giá trị rỗng cho Firefox
- 30. Giá trị trả về Const trong Java
Theo tính năng chia sẻ lại, có thể: http://stackoverflow.com/questions/16911056/can-webresponse-getresponsestream-return-a-null –