Mercurial > hg > ucis.core
diff Xml/Socket.cs @ 109:0fc3f42a8555
Small improvements, return TCPSocket in HTTPContext if applicable
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Mon, 03 Nov 2014 18:29:58 +0100 |
parents | 3bfb3ee64362 |
children |
line wrap: on
line diff
--- a/Xml/Socket.cs Mon Oct 27 23:24:32 2014 +0100 +++ b/Xml/Socket.cs Mon Nov 03 18:29:58 2014 +0100 @@ -58,18 +58,16 @@ return Buffer; } public virtual XmlDocument ReadDocument() { - MemoryStream Buffer = ReadRawDocument(); - try { - XmlDocument Doc = new XmlDocument(); - XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings); - Doc.Load(XMLReader); - XMLReader.Close(); - return Doc; - } catch (Exception ex) { - Buffer.Seek(0, SeekOrigin.Begin); - throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex); - } + MemoryStream Buffer = ReadRawDocument(); + XmlDocument Doc = new XmlDocument(); + try { + using (XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings)) Doc.Load(XMLReader); + } catch (Exception ex) { + Buffer.Seek(0, SeekOrigin.Begin); + throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex); } + return Doc; + } protected virtual void CreateWriter() { pWriter = XmlWriter.Create(pStream, WriterSettings);