Tôi có một phương pháp với một Stream cho đầu vào:Làm cách nào để biết liệu luồng có bị đóng không?
public void Export(Stream finalOutPutStream)
Đối với mục đích thử nghiệm, tôi gọi nó với một dòng bộ nhớ, như thế này:
// When
_exporter.Export(new System.IO.MemoryStream());
Nhưng khi, trong phương pháp này, tôi muốn để viết trên dòng bộ nhớ này, tôi nhận được một ObjectDisposedException.
Luồng này không được đính kèm trong tuyên bố sử dụng, tôi không gọi rõ ràng .Dispose().
Điều gì đã xảy ra?
Cảm ơn :)
- EDIT: xấu của tôi, vấn đề là từ các nhà văn của bên thứ ba (DotNetZip). Ngoại lệ xảy ra khi tôi gọi zip.Save (new MemoryStream()). Tôi sẽ đặt câu hỏi của tôi trên diễn đàn của họ. Xin lỗi và cảm ơn sự giúp đỡ.
Làm thế nào để bạn viết thư cho dòng? Nếu, ví dụ, bạn quấn 'finalOutPutStream' của bạn trong một' StreamWriter', đóng 'StreamWriter' cũng sẽ đóng luồng bên dưới. –
ngoại lệ xảy ra tại thời điểm tôi viết, trước khi trình ghi luồng được đóng. Nhưng cảm ơn, tôi không biết rằng các dòng cơ bản sẽ đóng cửa quá! –
Bạn có ngoại lệ bên trong phương thức 'Export'? –