/// <summary> /// Use XML serialization that supports interface-based messages. /// </summary> /// <param name="config"></param> /// <returns></returns> public static Configure XmlSerializer(this Configure config) { if (!Configure.BuilderIsConfigured()) { SetXmlSerializerAsDefault.UseXmlSerializer = true; return(config); } var messageTypes = Configure.TypesToScan.Where(t => t.IsMessageType()).ToList(); var mapper = new MessageMapper(); mapper.Initialize(messageTypes); config.Configurer.RegisterSingleton <IMessageMapper>(mapper); config.Configurer.RegisterSingleton <IMessageCreator>(mapper);//todo - Modify the builders to auto register all types var serializer = new XmlMessageSerializer(mapper); serializer.Initialize(messageTypes); config.Configurer.RegisterSingleton <IMessageSerializer>(serializer); return(config); }
/// <summary> /// Use XML serialization that supports interface-based messages. /// </summary> /// <param name="config"></param> /// <returns></returns> public static Configure XmlSerializer(this Configure config) { if (!Configure.BuilderIsConfigured()) { SetXmlSerializerAsDefault.UseXmlSerializer = true; return(config); } config.Configurer.ConfigureComponent <MessageMapper>(DependencyLifecycle.SingleInstance); config.Configurer.ConfigureComponent <XmlMessageSerializer>(DependencyLifecycle.SingleInstance); return(config); }