TextSerializer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / TextSerializer.cs / 1305376 / TextSerializer.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Provides a serializer for text content.
//  
// 
// @owner  [....]
//--------------------------------------------------------------------- 

namespace System.Data.Services.Serializers
{
    #region Namespaces. 

    using System.Diagnostics; 
    using System.IO; 
    using System.Text;
    using System.Xml; 

    #endregion Namespaces.

    ///  
    /// Provides support for serializing responses in text format.
    ///  
    internal struct TextSerializer : IExceptionWriter 
    {
        /// Writer to which output is sent. 
        private readonly TextWriter writer;

        /// Initializes a new  for the specified stream.
        /// Stream to which output should be sent. 
        /// Encoding to be used to write the result.
        internal TextSerializer(Stream output, Encoding encoding) 
        { 
            Debug.Assert(output != null, "output != null");
            Debug.Assert(encoding != null, "encoding != null"); 

            this.writer = new StreamWriter(output, encoding);
        }
 
        /// Serializes exception information.
        /// Description of exception to serialize. 
        public void WriteException(HandleExceptionArgs args) 
        {
            XmlWriter xmlWriter = XmlWriter.Create(this.writer); 
            ErrorHandler.SerializeXmlError(args, xmlWriter);
            this.writer.Flush();
        }
 
        /// Handles the complete serialization for the specified content.
        /// Single Content to write.. 
        ///  should be a byte array. 
        internal void WriteRequest(object content)
        { 
            Debug.Assert(content != null, "content != null");

            string contentAsText;
            if (!System.Data.Services.Parsing.WebConvert.TryXmlPrimitiveToString(content, out contentAsText)) 
            {
                throw new InvalidOperationException(Strings.Serializer_CannotConvertValue(content)); 
            } 

            Debug.Assert(contentAsText != null, "contentAsText != null"); 

            this.writer.Write(contentAsText);
            this.writer.Flush();
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK