///// <summary>
        ///// 序列化
        ///// </summary>
        ///// <param name="formatter"></param>
        ///// <param name="value"></param>
        ///// <returns></returns>
        //public static string Serialize(this HttpContent httpContent)
        //{
        //    var ms = new System.IO.MemoryStream();
        //    var task = httpContent.WriteToStreamAsync(value.GetType(), value, ms, null, null);
        //    task.Wait();
        //    return formatter.SupportedEncodings.First().GetString(ms.ToArray());
        //}
        /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="formatter"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string Serialize(this System.Net.Http.Formatting.MediaTypeFormatter formatter, object value)
        {
            if (value == null)
            {
                return(string.Empty);
            }
            var ms   = new System.IO.MemoryStream();
            var task = formatter.WriteToStreamAsync(value.GetType(), value, ms, null, null);

            task.Wait();
            return(formatter.SupportedEncodings.First().GetString(ms.ToArray()));
        }
        private Stream Serialize <T>(System.Net.Http.Formatting.MediaTypeFormatter formatter,
                                     T value, System.Net.Http.Headers.MediaTypeHeaderValue mediaType)
        {
            Stream stream = new MemoryStream();

            try
            {
                HttpContent content = new StreamContent(stream);
                content.Headers.ContentType = mediaType;
                formatter.WriteToStreamAsync(typeof(T), value, stream, content, null).Wait();
                stream.Position = 0;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Serialization error: " + ex.ToString());
            }
            return(stream);
        }