BinarySerializer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / BinarySerializer.cs / 1 / BinarySerializer.cs

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

namespace System.Data.Services.Serializers
{
    using System; 
    using System.Diagnostics;
    using System.IO; 
    using System.Text; 
    using System.Xml;
 
    /// Provides support for serializing responses in binary format.
    /// 
    /// The file histroy should show a BinaryExceptionTextWriter which is no longer used.
    ///  
    internal struct BinarySerializer : IExceptionWriter
    { 
        /// Stream to which output is sent. 
        private readonly Stream outputStream;
 
        /// Initializes a new  for the specified stream.
        /// Stream to which output should be sent.
        internal BinarySerializer(Stream output)
        { 
            Debug.Assert(output != null, "output != null");
            this.outputStream = output; 
        } 

        /// Serializes exception information. 
        /// Description of exception to serialize.
        public void WriteException(HandleExceptionArgs args)
        {
            Debug.Assert(args != null, "args != null"); 
            XmlWriter xmlWriter = XmlWriter.Create(this.outputStream);
            ErrorHandler.SerializeXmlError(args, xmlWriter); 
            xmlWriter.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"); 
 
            // The metadata layer should only accept byte arrays as binary-serialized values.
            byte[] bytes; 
            if (content is byte[])
            {
                bytes = (byte[])content;
            } 
            else
            { 
                bytes = (byte[])((System.Data.Linq.Binary)content).ToArray(); 
            }
 
            this.outputStream.Write(bytes, 0, bytes.Length);
        }
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Provides a serializer for binary content.
//  
// 
// @owner  [....]
//--------------------------------------------------------------------- 

namespace System.Data.Services.Serializers
{
    using System; 
    using System.Diagnostics;
    using System.IO; 
    using System.Text; 
    using System.Xml;
 
    /// Provides support for serializing responses in binary format.
    /// 
    /// The file histroy should show a BinaryExceptionTextWriter which is no longer used.
    ///  
    internal struct BinarySerializer : IExceptionWriter
    { 
        /// Stream to which output is sent. 
        private readonly Stream outputStream;
 
        /// Initializes a new  for the specified stream.
        /// Stream to which output should be sent.
        internal BinarySerializer(Stream output)
        { 
            Debug.Assert(output != null, "output != null");
            this.outputStream = output; 
        } 

        /// Serializes exception information. 
        /// Description of exception to serialize.
        public void WriteException(HandleExceptionArgs args)
        {
            Debug.Assert(args != null, "args != null"); 
            XmlWriter xmlWriter = XmlWriter.Create(this.outputStream);
            ErrorHandler.SerializeXmlError(args, xmlWriter); 
            xmlWriter.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"); 
 
            // The metadata layer should only accept byte arrays as binary-serialized values.
            byte[] bytes; 
            if (content is byte[])
            {
                bytes = (byte[])content;
            } 
            else
            { 
                bytes = (byte[])((System.Data.Linq.Binary)content).ToArray(); 
            }
 
            this.outputStream.Write(bytes, 0, bytes.Length);
        }
    }
} 

// 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