我有几个互相引用的BusinessObject类,我需要将其中一个序列化为JsonResponse并返回给我的视图。但是我一直得到一个循环引用异常,无法解决。我已经在每个不是简单数据类型属性的属性上放置了[ScriptIgnore()]装饰器,但仍然出现异常。我不知道问题出在哪里,因为我阻止了序列化器访问几乎所有内容,但它仍然爆炸了。
有没有办法查看序列化对象的当前状态?
仍然出现了CircularReference错误。DateTime数据类型不会导致序列化问题,对吗?
有没有办法查看序列化对象的当前状态?
[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);
}
仍然出现了CircularReference错误。DateTime数据类型不会导致序列化问题,对吗?
ScriptIgnore
没有起作用?我也遇到了同样的问题,我的实体被拆分到一个单独的类库中,并尝试在我的 Web 项目控制器中序列化实体。 - bflemi3