У меня есть несколько классов BusinessObject, которые ссылаются друг на друга, и мне нужно сериализовать один класс в JsonResponse и вернуть его на мой взгляд. Я продолжаю получать исключение по циклической ссылке и не могу от него избавиться. Я поместил декоратор [ScriptIgnore()]
на каждое свойство, которое не является свойством простого типа данных, и я все еще получаю исключение. Я не могу понять, где проблема, потому что я блокирую сериализатор практически от всего, и он все еще взрывается на мне.
Есть ли способ узнать текущее состояние сериализованного объекта?
[HttpPost]
public JsonResult GetAnalysisInfo(int id)
{
ProjectContext myDB = db;
SearchAnalysis searchanalysis = SearchAnalysis.Find(myDB, id);
//searchanalysis.Results = searchanalysis.SearchResultsPrototype(myDB);
return this.Json(searchanalysis);
}
Обновление
Я также пытался реализовать ISerializable безрезультатно. Мой GetObjectData очень прост:
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("SearchAnalysisId", this.SearchAnalysisId);
info.AddValue("Created", this.Created);
}
По-прежнему появляется ошибка CircularRefernce. Типы данных DateTime не вызывают проблем с сериализацией, верно?