В C #, почему я не могу получить доступ к этому потоку? - PullRequest
0 голосов
/ 07 января 2011

Я получил этот блок кода из поваренной книги NHibernate 3 (отличная книга, кстати), и хотя я не мог найти ни одной ошибки в этом сообщении. Я получаю сообщение об ошибке «Не удается получить доступ к закрытому потоку»:

 var settings = new XmlWriterSettings { Indent = true };
 var serializer = new XmlSerializer(typeof(HbmMapping)); // todo: probably should abstract this out, at least optionally
 using (var memStream = new MemoryStream(2048))
 using (var xmlWriter = XmlWriter.Create(memStream, settings))
 {
     serializer.Serialize(xmlWriter, hbmMapping);
     memStream.Flush();
     memStream.Position = 0;

     using (var sr = new StreamReader(memStream))
     {
         return sr.ReadToEnd();
     }
 }

Ошибка выдается в строке sr.ReadToEnd ().

1 Ответ

0 голосов
/ 07 января 2011

В конце концов обнаружил похожую проблему, Почему утилита StreamReader делает поток нечитабельным? . По сути, я удалил использование, которое было вокруг ридера, и все хорошо.

...