【问题标题】:In C#, why can't I access this stream?在 C# 中,为什么我不能访问这个流?
【发布时间】:2011-01-06 22:47:11
【问题描述】:

我从 NHibernate 3 Cookbook(一本很棒的书,顺便说一句)中获得了这段代码,虽然我在勘误表中找不到任何关于它的内容。我收到错误“无法访问已关闭的流”:

 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() 行抛出。

【问题讨论】:

    标签: c# stream nhibernate-3


    【解决方案1】:

    毕竟发现了类似的问题,Why disposing StreamReader makes a stream unreadable?。基本上,我删除了读者周围的使用,一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多