Этот экземпляр JsonSerializerOptions доступен только для чтения или уже использовался при сериализации или десериализациC#

Место общения программистов C#
Ответить
Anonymous
 Этот экземпляр JsonSerializerOptions доступен только для чтения или уже использовался при сериализации или десериализаци

Сообщение Anonymous »

Я пытаюсь повторно использовать JsonSerializationOption во многих местах, и это мой код:

Код: Выделить всё

    public static void ConfigureJsonSerializerOptions(JsonSerializerOptions jsonSerializerOptions)
{
jsonSerializerOptions.PropertyNameCaseInsensitive = true;
jsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
jsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
jsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
jsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString;
jsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip;
jsonSerializerOptions.UnknownTypeHandling = JsonUnknownTypeHandling.JsonNode;
jsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
jsonSerializerOptions.AllowTrailingCommas = true;
jsonSerializerOptions.WriteIndented = true;
}

private static JsonSerializerOptions options;

public static JsonSerializerOptions Options
{
get
{
if (options == null)
{
options = new JsonSerializerOptions();
ConfigureJsonSerializerOptions(options);
options.Converters.Add(new JsonStringEnumConverter());
}
return options;
}
}
Но я получаю следующую ошибку:

В System.Text произошло исключение типа «System.InvalidOperationException». Json.dll, но не обрабатывался в пользовательском коде: «Этот экземпляр JsonSerializerOptions доступен только для чтения или уже использовался при сериализации или десериализации».

Как могу ли я это проверить? У него нет свойства IsReadOnly.

Подробнее здесь: https://stackoverflow.com/questions/747 ... sed-in-ser
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»