Пример, включающий ваши настройки:

я есть следующий код внутри Startup.cs и ожидаю, что он переопределит параметры сериализации по умолчанию. Я хочу переопределить каждую сериализацию в моем проекте asp net core 2.0, но возвращаемое значение действия неверно, я думаю, что это глобальное свойство не работает в ядре 2.0

У меня это написано внутри Настроить точно перед app.UseMvc ();

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
                TypeNameHandling = TypeNameHandling.Objects,
                ContractResolver = new CamelCasePropertyNamesContractResolver(),
                Converters = new List<JsonConverter> { new StringEnumConverter() }
            };

Ответы на вопрос(1)

Решение Вопроса

Startup.ConfigureServices, Там беглоAddJsonOptions(Action<MvcJsonOptions>) расширение доIMvcBuilder вернулсяAddMvc() расширение.MvcJsonOptions подвергаетSerializerSettings свойство, которое вы можете настроить в коде действия.

Поэтому вместо того, чтобы настраивать один раз перед регистрацией MVC, это делается как часть регистрации MVC.

Пример, включающий ваши настройки:

services.AddMvc()
  .AddJsonOptions( options =>
  {
    options.SerializerSettings.Formatting = Formatting.Indented;
    options.SerializerSettings.TypeNameHandling = TypeNameHandling.Objects;
    options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    options.SerializerSettings.Converters.Add(new StringEnumConverter());
  });

Ваш ответ на вопрос