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);