Nous avons un projet VXML qu'un tiers analyse pour nous fournir un système de navigation par téléphone. Nous leur demandons d'entrer un code d'identification pour laisser un message, qui est ensuite examiné par notre société.Question sur XMLTextWriters and Streams
Nous avons actuellement ce travail comme suit:
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));
Je suis juste le maintien de cette application, je n'ai pas écrit ... mais la partie terminale me semble alambiquée.
Je sais qu'il prend le flux de sortie et qu'il y introduit le XML écrit ... mais pourquoi lit-il en premier la chaîne entière? N'est-ce pas inefficace?
Existe-t-il un meilleur moyen d'écrire le code ci-dessus?
Oui cela devrait le faire –