public void OnSerialized(MessageSerializerEventArgs e) { var handler = Serialized; if (handler != null) { handler(this, e); } }
public virtual string Serialize(object message) { string serializedMessage; if (message != null) { if (message is string) { serializedMessage = message.ToString(); } else if (message is Exception) { serializedMessage = ((Exception)message).ToXmlString(); } else if (message is DataSet) { serializedMessage = ((DataSet)message).GetXml(); } else if (message.GetType().Name.Contains("AnonymousType")) { var dic = ToDictionary(message); if (dic.ContainsKey("Exception") && dic["Exception"] != null && dic["Exception"] is Exception) { dic["Exception"] = ((Exception)dic["Exception"]).ToXmlString(); } var element = CreateXElement("Message", dic); serializedMessage = element.ToString(); } else { serializedMessage = _serializer.Serialize(message); } } else { serializedMessage = "null"; } if (string.IsNullOrEmpty(serializedMessage)) { serializedMessage = "null"; } serializedMessage = serializedMessage.StartsWith("<Message>") ? serializedMessage : string.Format("<Message>{0}</Message>", serializedMessage); var eventParameter = new MessageSerializerEventArgs(message, serializedMessage); OnSerialized(eventParameter); return(eventParameter.SerializedMessage); }