У нас есть проект VXML, который сторонний анализирует, чтобы предоставить нам систему навигации по телефону. Мы требуем от них ввести идентификационный код, чтобы оставить сообщение, которое позже проверяется нашей компанией.
В настоящее время мы имеем следующую работу:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Stream m = new MemoryStream(); //Create Memory Stream - Used to create XML document in Memory
XmlTextWriter XML_Writer = new XmlTextWriter(m, System.Text.Encoding.UTF8);
XML_Writer.Formatting = Formatting.Indented;
XML_Writer.WriteStartDocument();
/* snip - writing a valid XML document */
XML_Writer.WriteEndDocument();
XML_Writer.Flush();
m.Position = 0;
byte[] b = new byte[m.Length];
m.Read(b, 0, (int)m.Length);
XML_Writer.Close();
HttpContext.Current.Response.Write(System.Text.Encoding.UTF8.GetString(b, 0, b.Length));
Я просто поддерживаю это приложение, я не писал его ... но мне кажется, что конец раздела мне запутан.
Я знаю, что он принимает выходной поток и подает в него записанный XML ... но почему он сначала читает всю строку? Разве это не неэффективно?
Есть ли лучший способ написать код выше?