Недавно я перенес проект на Core 2.2 и ABP 4.4. С тех пор у меня возникают проблемы с привязкой DateTime и десятичных дробей. Все работает хорошо, когда для культуры установлено значение «en», но когда я изменяю его на «hr» (хорватский), он говорит: «Не удалось преобразовать строку в DateTime: 19.06.2019». В основном это 19 как месяц, а 06 как день.
https://imgur.com/DDkIAYb
Другая проблема возникает с десятичными числами, потому что разделитель по умолчанию в культуре "hr" - запятая. Я зарегистрировал культуры в Startup и до того, как все заработало нормально.
var supportedCultures = new[]
{
new CultureInfo("hr"),
new CultureInfo("en")
};
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new RequestCulture("hr");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
Я заметил, что все это хорошо работает с "обычными" контроллерами, и проблема возникает, когда я вызываю методы службы приложения. Установка свойства UseMvcDateTimeFormatForAppServices в модуле WebCore не помогла.
Configuration.Modules.AbpAspNetCore()
.CreateControllersForAppServices(
typeof(BIApplicationModule).GetAssembly()
);
Configuration.Modules.AbpAspNetCore().UseMvcDateTimeFormatForAppServices = true;
Есть предложения, пожалуйста?