Код: Выделить всё
builder.Services.AddStackExchangeRedisCache(options => options.Configuration = redisConnectionString);
..
builder.Services.AddHybridCache(options => options.ReportTagMetrics = true);

В общем, чтобы использовать NodaTime, его нужно добавить в сериализатор.
Работает с MassTransit и RabbitMQ при следующей настройке:
Код: Выделить всё
x.UsingRabbitMq((context, cfg) =>
{
...
cfg.ConfigureJsonSerializerOptions(j => j.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb));
...
});
Я реализовал IHybridCacheSerializer и зарегистрировался в контейнере DI, но он никогда не вызывается.
Основываясь на стандартной реализации AddHybridCache, я переопределил IHybridCacheSerializerFactory, чтобы попытаться разрешить определенные сериализаторы, но это не имеет значения, эта служба также никогда не разрешается.
Подробнее здесь: https://stackoverflow.com/questions/790 ... with-redis
Мобильная версия