nap*_*fya 2 masstransit rabbitmq
我们从 Masstransit 7.0.6 升级到 8.0.3
之前我们正在配置ConfigureJsonSerializer. 但这似乎从 8.0.3 版本中删除了。源代码如下
x.UsingRabbitMq((context, cfg) =>
{
cfg.Host(Config.GetValue<string>("RabbitMQ:Host"), "/", h =>
{
h.Username(Config.GetValue<string>("RabbitMQ:Username"));
h.Password(Config.GetValue<string>("RabbitMQ:Password"));
});
cfg.ConfigureEndpoints(context);
cfg.ConfigureJsonSerializer(settings => { settings.DefaultValueHandling = DefaultValueHandling.Include; return settings; });
});
Run Code Online (Sandbox Code Playgroud)
我们如何替换ConfigureJsonSerializer和DefaultValueHandling?
我看到有
cfg.UseJsonSerializer();
cfg.ConfigureJsonSerializerOptions(options => options.DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.???);
Run Code Online (Sandbox Code Playgroud)
这是正确的替代品吗DefaultIgnoreCondition?
如果您遵循升级指南,您可以看到 Newtonsoft 不再是默认的 JSON 序列化器。您上面指出的方法已重命名为ConfigureNewtonsoftJsonSerializer并且仅存在于单独的 Newtonsoft 程序集中。
如果要配置 System.Text.Json 以包含默认值,可以使用以下方式配置这些选项:
cfg.ConfigureJsonSerializerOptions(options =>
{
options.DefaultIgnoreCondition = JsonIgnoreCondition.Never;
return options;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |