Exemplo n.º 1
0
    protected override void OnWriteDetailContents(System.Xml.XmlDictionaryWriter writer)
    {
        var ser = new XmlSerializer(details.GetType());

        ser.Serialize(writer, details);
        writer.Flush();
    }
Exemplo n.º 2
0
    private static void DumpEncoderSize(System.Xml.XmlDictionaryWriter writer, Message copy)
    {
        var    ms = new MemoryStream();
        string configuredEncoder = string.Empty;

        if (writer is IXmlTextWriterInitializer)
        {
            var w = (IXmlTextWriterInitializer)writer;
            w.SetOutput(ms, Encoding.UTF8, true);
            configuredEncoder = "Text";
        }
        else if (writer is IXmlMtomWriterInitializer)
        {
            var w = (IXmlMtomWriterInitializer)writer;
            w.SetOutput(ms, Encoding.UTF8, int.MaxValue, "", null, null, true, false);
            configuredEncoder = "MTOM";
        }
        else if (writer is IXmlBinaryWriterInitializer)
        {
            var w = (IXmlBinaryWriterInitializer)writer;
            w.SetOutput(ms, null, null, false);
            configuredEncoder = "Binary";
        }

        copy.WriteMessage(writer);
        writer.Flush();
        var size = ms.Position;

        Console.WriteLine("Message size using configured ({1}) encoder {0}", size, configuredEncoder);
    }