XMLWriter和XMLDictionaryWriter有什么区别?在哪种情况下,每种情况通常使用?
XmlWriter是一个抽象类,其中XmlDictionaryWriter是继承自己的类之一,它本身就是一个抽象类.
我正在黑暗中采取一种刺激,您希望使用DataContractSerializer或通常使用de / serialization. XmlDictionaryWriter是WCF使用它进行de / serialization的基类.
从那里我将推断,在XmlDictionaryWriter中必须有一些性能调优,以使其在WCF de / serialization任务中更具性能.事实上,如果你调用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();
- }