Ho un metodo con un flusso per l'ingresso:Come puoi sapere se uno stream è chiuso?
public void Export(Stream finalOutPutStream)
per scopi di test, io lo chiamo con un flusso di memoria, in questo modo:
// When
_exporter.Export(new System.IO.MemoryStream());
Ma quando, nel metodo, voglio per scrivere su questo flusso di memoria, ottengo un ObjectDisposedException.
Questo flusso non è incluso in un'istruzione using, non viene richiamato in modo esplicito .Dispose().
Cosa è successo?
Grazie :)
- EDIT: Il mio male, il problema è dallo scrittore di terze parti (DotNetZip). L'eccezione si verifica quando chiamo zip.Save (new MemoryStream()). Farò le mie domande sul loro forum. Scusa, e grazie per l'aiuto.
Come si scrive al flusso? Se, ad esempio, si termina il 'finalOutPutStream' in un' StreamWriter', la chiusura di 'StreamWriter' chiuderà anche il flusso sottostante. –
l'eccezione si verifica nel momento in cui scrivo, prima che lo stream writer sia chiuso. Ma grazie, non sapevo che anche il flusso sottostante sarebbe stato chiuso! –
Si ottiene un'eccezione nel metodo "Esporta"? –