From 9f567e6471e2a70aaa3028fb6b183e24987f627b Mon Sep 17 00:00:00 2001 From: David Date: Tue, 14 Jul 2020 12:39:58 +0200 Subject: [PATCH] Don't recreate JsonSerializerOptions every time --- MediaBrowser.Common/Json/JsonDefaults.cs | 30 +++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs index 36ab6d900a..c8217f9ab0 100644 --- a/MediaBrowser.Common/Json/JsonDefaults.cs +++ b/MediaBrowser.Common/Json/JsonDefaults.cs @@ -9,6 +9,8 @@ namespace MediaBrowser.Common.Json /// public static class JsonDefaults { + private static JsonSerializerOptions _defaultOptions; + /// /// Gets the default options. /// @@ -21,20 +23,26 @@ namespace MediaBrowser.Common.Json /// The default options. public static JsonSerializerOptions GetOptions() { - var options = new JsonSerializerOptions + if (_defaultOptions == null) { - ReadCommentHandling = JsonCommentHandling.Disallow, - WriteIndented = false - }; + var options = new JsonSerializerOptions + { + ReadCommentHandling = JsonCommentHandling.Disallow, + WriteIndented = false + }; - options.Converters.Add(new JsonGuidConverter()); - options.Converters.Add(new JsonInt32Converter()); - options.Converters.Add(new JsonStringEnumConverter()); - options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory()); - options.Converters.Add(new JsonInt64Converter()); - options.Converters.Add(new JsonDoubleConverter()); + options.Converters.Add(new JsonGuidConverter()); + options.Converters.Add(new JsonInt32Converter()); + options.Converters.Add(new JsonStringEnumConverter()); + options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory()); + options.Converters.Add(new JsonInt64Converter()); + options.Converters.Add(new JsonDoubleConverter()); - return options; + _defaultOptions = options; + return _defaultOptions; + } + + return _defaultOptions; } ///