protobuf.net i warunkowa serializacja

Używamy protobuf.net do serializacji klas między urządzeniami mobilnymi i usługami zaplecza, ale teraz musimy dostosować to, co jest wysyłane do klienta w oparciu o „kontekst” użytkownika.

Zazwyczaj robilibyśmy to, implementując interfejs ISerializable i sprawdzając wartość kontekstu, aby zdecydować, co serializować. Podobnie w konstruktorze będziemy następnie deserializować podane wartości.

Ale wydaje się, że ISerializable nie jest zaimplementowane / wspierane (rozumiem, dlaczego) dla protobuf.net, więc obejrzeliśmy to, stosując podejście „ShouldSerialize *” i „OnSerializing”. Oznacza to jednak, że musimy przechowywać StreamingContext w każdej klasie, która nie jest odpowiednia. Potencjalnie moglibyśmy umieścić go w globalnym, ale to też nie jest właściwe.

Czy jest lepszy sposób na osiągnięcie tego, czego chcemy, np. serializacja tylko przy użyciu formatu protobuf.net, ale z tym, na co serializowany wpływ ma kontekst zewnętrzny?

questionAnswers(1)

yourAnswerToTheQuestion