为什么我需要将XmlWriterSettings.Async设置为true才能使用异步方法?

时间:2017-09-11 14:03:18

标签: c# async-await xmlwriter

自从我上次使用XmlWriter以来已经有一段时间了但是从今天开始写一些XML是幸运的一天,所以默认情况下我开始使用所有...Async方法,但我马上就得到了以下例外:

  

System.InvalidOperationException:如果要使用异步方法,请将XmlWriterSettings.Async设置为true。

我似乎有点奇怪,我必须在设置对象上设置一个标志,我将其传递给XmlWriter的构造函数,以便我可以在类上打开方法的使用。

例如:

using (var xmlWriter = XmlWriter.Create(stringBuilder))
{
    await xmlWriter.WriteStartElementAsync("", "root", "")
        .ConfigureAwait(false);
}

但是会引发异常:

using (var xmlWriter = XmlWriter.Create(stringBuilder, new XmlWriterSettings(){Async = true}))
{
    await xmlWriter.WriteStartElementAsync("", "root", "")
        .ConfigureAwait(false);
}

工作正常。

有谁知道这背后的原因?

0 个答案:

没有答案