/// <summary>Uses the deep sleep XML negotiation.</summary> /// <param name="services">The services.</param> /// <param name="configure">The configure.</param> /// <returns></returns> public static IServiceCollection UseDeepSleepXmlNegotiation(this IServiceCollection services, Action <XmlMediaSerializerConfiguration> configure = null) { var configuration = new XmlMediaSerializerConfiguration { ReaderSerializerSettings = new XmlReaderSettings { CloseInput = false, ConformanceLevel = ConformanceLevel.Fragment, IgnoreComments = true, ValidationType = ValidationType.None }, WriterSerializerSettings = new XmlWriterSettings { NewLineOnAttributes = false, CloseOutput = false, Encoding = Encoding.UTF8, Indent = false, NamespaceHandling = NamespaceHandling.Default, OmitXmlDeclaration = true, WriteEndDocumentOnClose = false, Async = true, } }; if (configure != null) { configure(configuration); } services.AddScoped <IDeepSleepMediaSerializer, DeepSleepXmlMediaSerializer>(); services.AddSingleton <XmlMediaSerializerConfiguration>((p) => configuration); return(services); }
/// <summary>Initializes a new instance of the <see cref="CustomXmlFormatStreamReaderWriter"/> class.</summary> /// <param name="xmlFormattingConfiguration">The XML formatting configuration.</param> public CustomXmlFormatStreamReaderWriter(XmlMediaSerializerConfiguration xmlFormattingConfiguration) : base(xmlFormattingConfiguration) { }
/// <summary>Initializes a new instance of the <see cref="DeepSleepXmlMediaSerializer"/> class.</summary> /// <param name="xmlFormattingConfiguration">The XML formatting configuration.</param> public DeepSleepXmlMediaSerializer(XmlMediaSerializerConfiguration xmlFormattingConfiguration) { this.xmlFormattingConfiguration = xmlFormattingConfiguration; }