Я следовал этим инструкциям , чтобы использовать Newtonsoft
в моем проекте Blazor Server вместе с CosmosDb v3 .
Таким образом, мой Startup.cs
указывает несколько настроек и конвертеры.
services.AddControllers()
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
options.SerializerSettings.Formatting = Formatting.Indented;
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
options.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;
options.SerializerSettings.Converters.Add(new ISubfileConverter());
options.SerializerSettings.Converters.Add(new ISubunitConverter());
options.SerializerSettings.Converters.Add(new IElementConverter());
options.SerializerSettings.Converters.Add(new IMetadataConverter());
});
services.AddSingleton<ICosmosSrcDocService>(InitializeCosmosSrcClientInstance(Configuration.GetSection("SourceCosmosDb"))
.GetAwaiter().GetResult());
Однако, когда я использую UpsertItemAsync()
, кажется, что он его не использует.
Есть ли способ, которым я могу сказать CosmosDb в Startup.cs
, чтобы использовать это конфигурация?
ОБНОВЛЕНИЕ с конфигурацией Cosmos
CosmosClientBuilder clientBuilder = new CosmosClientBuilder(account, key);
CosmosClient client = clientBuilder
.WithConnectionModeDirect()
.Build();
CosmosTrgDocService cosmosDbService = new CosmosTrgDocService(client, databaseName, containerName);