Я только начал использовать Kafka и нажал на следующую ладью ie error:
'Value cannot be null.
Parameter name: Value serializer not specified and there is no default serializer defined for type ActMessage.'
Это происходит при попытке отправить объект класса, объект ActMessage, а не простую строку, которая идет с пример. Строка кода, которая вызывает ошибку:
using (var p = new ProducerBuilder<Null, ActMessage>(config ).Build()
Я использую клиент . net.
Насколько я понимаю, мне нужно использовать один по умолчанию сериализуется в параметре первого типа, который поставляется с клиентом Kafka, как объяснено здесь , но не может найти их в этом пакете. net. Я думаю, я мог бы построить один, но это было бы пустой тратой времени.
Вот воспроизводимый пример:
public class ActMessage {
public int SomeId {get;set;}
public string SomeContent {get;set;}
}
class Tester {
void send(){
var config = new ProducerConfig { BootstrapServers = "localhost:9092" };
using (var p = new ProducerBuilder<Null, ActMessage>(config).Build()) //throws error here
{
var dr = p.ProduceAsync("news", new Message<Null, ActMessage>
{
Value = new ActMessage { SomeId = 1, SomeContent="hi" },
}
).Result;
}
}
}