Как заставить JSonSerialiser обрабатывать эталонные циклы? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь настроить сериализатор SignalR JSon для обработки эталонных циклов в моем графе объектов. Я видел похожие вопросы по SO, и позаимствовал код ниже.

Ниже приведена соответствующая часть метода ConfigureServices :

 services.AddSignalR().AddJsonProtocol(options =>
                {
                    options.PayloadSerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
                    options.PayloadSerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
                });

К сожалению, даже при такой конфигурации при попытке отправки данных по проводам выдается следующее исключение:

Обнаружена самосвязывающаяся петля для свойства 'GTULE' с типом 'A.B.C.Vehicle'. Путь ...

Очевидно, этого кода недостаточно, но я не могу понять, что делать.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 14 июня 2019

Добавьте запись ShouldSerializePROPERTYNAME в исходный файл модели:

public bool ShouldSerializeVehicule()
{
    return false;
}

или примените атрибут [JsonIgnore] к Гигуле.

Это говорит Джсону пропустить его.

...