FireStats error processing pending hits: Internal error : no id for referrer http://www.cyberforum.ru/yaproger/thread48473.html


Сериализация с DataContractSerializer

 public static class Serializer
    {
        public static string Serialize(object obj, Type type)
        {
            DataContractSerializer serializer = new DataContractSerializer(type);
            string result = string.Empty;
            using (MemoryStream stream = new MemoryStream())
            {
                serializer.WriteObject(stream, obj);
                stream.Seek(0, SeekOrigin.Begin);
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                result = Encoding.Default.GetString(buffer);
            }
            return result;
        }

        public static object Deserialize(string xml, Type type)
        {
            DataContractSerializer serializer = new DataContractSerializer(type);
            object result = new object();
            using (MemoryStream stream = new MemoryStream())
            {
                byte[] buffer = Encoding.Default.GetBytes(xml);
                stream.Write(buffer, 0, buffer.Length);
                stream.Seek(0, SeekOrigin.Begin);
                result = serializer.ReadObject(stream);
            }
            return result;
        }

        public static string GetType(string xml)
        {
            try
            {
                string name = System.Xml.Linq.XDocument.Parse(xml).Root.Name.ToString();
                return name.Substring(name.IndexOf("}") + 1, name.Length - name.IndexOf("}") - 1);
            }
            catch { return string.Empty; }
        }
    }

Add comment октября 2, 2009


Метки