It's been a while since I last used XmlWriter
but since today has been a lucky day to write some XML, so I started to use all the ...Async
methods by default but straight away I get the following exception:
System.InvalidOperationException : Set XmlWriterSettings.Async to true if you want to use Async Methods.
It seems a bit weird to me that I have to set a flag on a settings object that I pass into the constructor of XmlWriter
so that I can open up the use of methods on a class.
For example:
using (var xmlWriter = XmlWriter.Create(stringBuilder))
{
await xmlWriter.WriteStartElementAsync("", "root", "")
.ConfigureAwait(false);
}
Will throw an exception, however:
using (var xmlWriter = XmlWriter.Create(stringBuilder, new XmlWriterSettings(){Async = true}))
{
await xmlWriter.WriteStartElementAsync("", "root", "")
.ConfigureAwait(false);
}
Will work fine.
Does anyone know the reasoning behind this?