Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
 /// <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)
 {
 }
Beispiel #3
0
 /// <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;
 }