Dot-Net

XMLWriter 與 XMLDictionaryWriter

  • July 13, 2017

XMLWriter和有什麼區別XMLDictionaryWriter?通常在哪些情況下使用每一種?

XmlWriter是一個抽像類,它XmlDictionaryWriter是從它繼承的類之一,它本身就是一個抽像類。

我在黑暗中刺傷你想將它與DataContractSerializer一般的反序列化或反序列化一起使用。XmlDictionaryWriter是 WCF 用來進行反序列化的基類。

從中我可以推斷出必須進行一些性能調整,XmlDictionaryWriter以使其在 WCF 反序列化任務中的性能更高。實際上,如果您呼叫WriteObject(Stream, object)而不是WriteObject(XmlWriter, object)WriteObject(XmlDictionaryWriter, object)方法,它將XmlDictionaryWriter為您創建一個

public virtual void WriteObject(Stream stream, object graph)
{
   CheckNull(stream, "stream");
   XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(stream, Encoding.UTF8, false);
   this.WriteObject(writer, graph);
   writer.Flush();
}

引用自:https://stackoverflow.com/questions/3604123