Дурацкий конечно вопрос.
Но многие сталкивались уверен.
Обновил значит ASP.NET Core с 2.2 (там newtonsoft json гвоздями прибит я непомню точно) на 3.1 (newtonsoft явно задается, а по дефолту System.Text.Json)
Вот так:
services.AddControllersWithViews().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
var signalR = services.AddSignalR(x =>
{
x.EnableDetailedErrors = true;
});
signalR.AddNewtonsoftJsonProtocol(options =>
{
options.PayloadSerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
Все прекрасно работает, но памяти больше жрет. А самое интересное что свойства System.Version в 2.2 сераилизовывались как object из Major Minor Build и т.д.
А в 3.1 — это строка "1.2.3"
Чесно говоря хочется разобраться почему так странно
Здравствуйте, VladCore, Вы писали:
VC>Дурацкий конечно вопрос.
VC>Но многие сталкивались уверен.
VC>Чесно говоря хочется разобраться почему так странно
не это часом?
https://github.com/JamesNK/Newtonsoft.Json/issues/2243
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Здравствуйте, ksg71, Вы писали:
VC>>Дурацкий конечно вопрос.
VC>>Но многие сталкивались уверен.
VC>>Чесно говоря хочется разобраться почему так странно
K>не это часом?
K>https://github.com/JamesNK/Newtonsoft.Json/issues/2243
ну да оно. только все равно непонятно. Этот VersionConverter лежит в сборке Newtonsoft.Json, которая и в core 2.2 тоже была но не использовалась почему то.
Здравствуйте, VladCore, Вы писали:
VC>Здравствуйте, ksg71, Вы писали:
VC>>>Дурацкий конечно вопрос.
VC>>>Но многие сталкивались уверен.
VC>>>Чесно говоря хочется разобраться почему так странно
K>>не это часом?
K>>https://github.com/JamesNK/Newtonsoft.Json/issues/2243
VC>ну да оно. только все равно непонятно. Этот VersionConverter лежит в сборке Newtonsoft.Json, которая и в core 2.2 тоже была но не использовалась почему то.
Так это TypeConverter из System.ComponentModel. Он появился видимо в 3.1 для Version
Вот тут
https://www.newtonsoft.com/json/help/html/SerializationGuide.htm
написано почему он и цепляется
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Здравствуйте, ksg71, Вы писали:
K>Так это TypeConverter из System.ComponentModel. Он появился видимо в 3.1 для Version
а мы про JsonConverter
K>Вот тут https://www.newtonsoft.com/json/help/html/SerializationGuide.htm
K>написано почему он и цепляется
ты читал что там написано?
ну и тему посмотри
Где задается сериализатор класса System.Version?
Подсказка — VersionConverter он вызывается либо если атрибут прописан либо если JsonSerializer.Converters.Add() вызвать.
Здравствуйте, VladCore, Вы писали:
VC>Здравствуйте, ksg71, Вы писали:
K>>Так это TypeConverter из System.ComponentModel. Он появился видимо в 3.1 для Version
VC>а мы про JsonConverter
K>>Вот тут https://www.newtonsoft.com/json/help/html/SerializationGuide.htm
K>>написано почему он и цепляется
VC>ты читал что там написано?
VC>ну и тему посмотри
VC>VC>Где задается сериализатор класса System.Version?
VC>Подсказка — VersionConverter он вызывается либо если атрибут прописан либо если JsonSerializer.Converters.Add() вызвать.
читал.
там сказано что newtonsoft json использует TypeConverter для примитивов,
конвертеры для них и intrinsic типов задаются в ReflectTypeDescriptorProvider
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx