Tôi đang tải lên một tệp và trực tiếp nạp Inputstream vào một trong các đối tượng của tôi. Câu hỏi của tôi là chúng ta nên đóng và tuôn ra nó một khi chúng ta đang xử lý xong nó?Chúng ta có nên đóng HttpPostedFile.Inputstream, khi chúng ta đã hoàn thành việc sử dụng nó?
7
A
Trả lời
5
Bạn không cần để đóng một cách rõ ràng, tài nguyên được phân bổ trên máy chủ của bạn được xử lý khi yêu cầu kết thúc. Xem nhận xét cuối cùng trong tài liệu MSDN.
http://msdn.microsoft.com/en-us/library/system.web.httppostedfile.aspx
Tuy nhiên nếu câu hỏi là nên bạn đóng nó lại (hoặc ít nhất là vứt bỏ nó) - sau đó tôi muốn nói vâng. Tại sao không? Nó có thể giải phóng tài nguyên sớm hơn nếu không được phát hành và bạn biết bạn không cần chúng nữa.
3
Tất cả các đối tượng mở rộng System.IO.Stream objects implement IDisposable. Cách tốt nhất là đặt luồng Nhập liệu của bạn trong khối using
, để đảm bảo luồng được đóng đúng cách và được xử lý ngay cả trong trường hợp ngoại lệ bị ném.
Các vấn đề liên quan
- 1. Khi nào chúng ta nên đóng EntityManagerFactory?
- 2. Khi nào chúng ta nên sử dụng lớp học và khi chúng ta không nên
- 3. Tại sao chúng ta nên sử dụng mã hóa ui khi chúng ta có Specflow?
- 4. Khi nào chúng ta nên sử dụng mutex và khi nào chúng ta nên sử dụng semaphore
- 5. Chúng ta có nên sử dụng ScalaSignature trực tiếp không?
- 6. Khi nào chúng ta sử dụng ANTLR
- 7. MVC: tại sao chúng ta cần "điều khiển", hoặc khi nào chúng ta nên sử dụng mẫu này?
- 8. tại sao chúng ta không nên sử dụng ++ trong javascript?
- 9. Tại sao nên sử dụng id khi chúng ta có thể sử dụng NSObject?
- 10. Chúng ta có cần mfence khi sử dụng xchg
- 11. Tại sao chúng ta sử dụng Response.ClearHeaders()?
- 12. Ext.namespace là gì, chúng ta nên sử dụng chúng như thế nào?
- 13. Tại sao chúng ta có bao đóng trong JavaScript?
- 14. Tại sao chúng ta sử dụng giao diện thành viên?
- 15. Chúng ta có nên chuyển sang WPF hoặc Winforms không?
- 16. Lịch add() vs roll() khi nào chúng ta sử dụng?
- 17. UIButton - chúng ta có nên phát hành hay không?
- 18. Chúng ta có nên đơn vị kiểm tra đăng nhập?
- 19. Tại sao chúng ta cần phải chuyển đổi đôi thành một chuỗi, trước khi chúng ta có thể chuyển đổi nó thành một BigDecimal?
- 20. Chúng ta có nên đi theo cách của Corona không?
- 21. Chúng ta có nên luôn ghi đè bằng?
- 22. Khi nào chúng ta sẽ sử dụng applicationContext.xml trong Spring?
- 23. Khi nào chúng ta sử dụng mô-đun ruby và sử dụng thành phần lớp học?
- 24. chúng ta có thể sử dụng CASE với EXEC
- 25. khi nào chúng ta nên sử dụng instanceof và khi không phải
- 26. Chúng ta có nên viết bình luận rộng rãi không?
- 27. khi nào chúng ta cần mẫu Adapter?
- 28. chúng ta có thể sử dụng xpath với BeautifulSoup không?
- 29. Tại sao chúng ta không thể gán một biến lặp foreach, trong khi chúng ta hoàn toàn có thể sửa đổi nó với một accessor?
- 30. Chúng ta có cần đóng đầu đọc của một đường ống rõ ràng có đầu ghi đã đóng không?