///// <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); }