Mercurial > hg > ucis.core
comparison 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 |
comparison
equal
deleted
inserted
replaced
108:819fb56a56ea | 109:0fc3f42a8555 |
---|---|
56 Buffer.Seek(0, SeekOrigin.Begin); | 56 Buffer.Seek(0, SeekOrigin.Begin); |
57 | 57 |
58 return Buffer; | 58 return Buffer; |
59 } | 59 } |
60 public virtual XmlDocument ReadDocument() { | 60 public virtual XmlDocument ReadDocument() { |
61 MemoryStream Buffer = ReadRawDocument(); | 61 MemoryStream Buffer = ReadRawDocument(); |
62 try { | 62 XmlDocument Doc = new XmlDocument(); |
63 XmlDocument Doc = new XmlDocument(); | 63 try { |
64 XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings); | 64 using (XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings)) Doc.Load(XMLReader); |
65 Doc.Load(XMLReader); | 65 } catch (Exception ex) { |
66 XMLReader.Close(); | 66 Buffer.Seek(0, SeekOrigin.Begin); |
67 return Doc; | 67 throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex); |
68 } catch (Exception ex) { | |
69 Buffer.Seek(0, SeekOrigin.Begin); | |
70 throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex); | |
71 } | |
72 } | 68 } |
69 return Doc; | |
70 } | |
73 | 71 |
74 protected virtual void CreateWriter() { | 72 protected virtual void CreateWriter() { |
75 pWriter = XmlWriter.Create(pStream, WriterSettings); | 73 pWriter = XmlWriter.Create(pStream, WriterSettings); |
76 } | 74 } |
77 protected virtual void CloseWriter() { | 75 protected virtual void CloseWriter() { |