XMLWriter
とはどう違いXMLDictionaryWriter
ますか?それぞれが一般的にどのような場合に使用されますか?
2 に答える
XmlWriter
は、XmlDictionaryWriter
それを継承するクラスの 1 つであり、それ自体が抽象クラスである抽象クラスです。
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();
}
XmlWriterは、順方向のみの方法でXMLドキュメントを書き込むために使用される抽象クラスです。静的Create
メソッドを使用して、使用するクラスの具体的な実装を作成します。XMLドキュメントを作成するこの方法は、あらゆる用途で任意のXMLをすばやく作成する必要がある場合に役立ちます。
XmlDictionaryWriterは、XMLとの間のオブジェクトのシリアル化および逆シリアル化に使用される抽象クラスです。私が理解していることから、これはWCFで、ワイヤを移動するためにオブジェクトをシリアル化するために使用されます。XmlDictionaryWriter
バイナリ、テキスト、またはMTOM形式を使用してシリアル化できます。このクラスは、WCFで使用するためにカスタム(逆)シリアル化が特に必要な場合にのみ使用すると思います。こちらもご覧ください。
お役に立てば幸いです。