System.Xml.XmlWriter.Flush C# (CSharp) Method

Flush() public abstract method

public abstract Flush ( ) : void
return void
        public abstract void Flush();

Usage Example

Example #1
0
        /// <summary>
        /// Decode an AMF packet into an AMFX format.
        /// </summary>
        /// <exception cref="FormatException">Error during decoding.</exception>
        public void Decode(Stream stream, XmlWriter output)
        {
            if (stream == null) throw new ArgumentNullException("stream");
            if (!stream.CanRead) throw new ArgumentException(Errors.AmfPacketReader_Read_StreamClosed, "stream");
            if (output == null) throw new ArgumentNullException("output");

            try
            {
                var amfStreamReader = new AmfStreamReader(stream);

                var version = ReadPacketVersion(amfStreamReader);
                var decoder = CreateDecoder(version, _options);

                output.WriteStartDocument();
                output.WriteStartElement(AmfxContent.AmfxDocument, AmfxContent.Namespace);
                output.WriteAttributeString(AmfxContent.VersionAttribute, version.ToAmfxName());
                output.Flush();

                //Read headers
                var headerCount = ReadDataCount(amfStreamReader);

                for (var i = 0; i < headerCount; i++)
                {
                    var header = decoder.ReadPacketHeader(stream);

                    output.WriteStartElement(AmfxContent.PacketHeader);
                    output.WriteAttributeString(AmfxContent.PacketHeaderName, header.Name);
                    output.WriteAttributeString(AmfxContent.PacketHeaderMustUnderstand, header.MustUnderstand.ToString());
                    decoder.Decode(stream, output);
                    output.WriteEndElement();
                    output.Flush();
                }

                //Read messages
                var messageCount = ReadDataCount(amfStreamReader);

                for (var i = 0; i < messageCount; i++)
                {
                    var body = decoder.ReadPacketBody(stream);

                    output.WriteStartElement(AmfxContent.PacketBody);
                    output.WriteAttributeString(AmfxContent.PacketBodyTarget, body.Target);
                    output.WriteAttributeString(AmfxContent.PacketBodyResponse, body.Response);
                    decoder.Decode(stream, output);
                    output.WriteEndElement();
                    output.Flush();
                }

                output.WriteEndElement();
                output.WriteEndDocument();
                output.Flush();
            }
            catch (Exception e)
            {
                output.Flush();
                throw new FormatException(Errors.AmfPacketReader_DecodingError, e);
            }
        }
All Usage Examples Of System.Xml.XmlWriter::Flush