使用JSON.Net“检测到自我引用循环”异常我有一些代码将一个Route对象列表发送到我的View(ASP.Net MVC):public ActionResult getRouteFromPart(int partId){
List<Route> routes = _routeService.GetRouteByPartType(partId);
if (routes == null)
{
return this.AdvancedJsonResult(null, JsonRequestBehavior.AllowGet);
}
return this.AdvancedJsonResult(new
{
Routes = routes }, JsonRequestBehavior.AllowGet);}但我在AdvancedJsonResult班上得到一个例外:if (Data != null){
var settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
string result = JsonConvert.SerializeObject(this.Data, this.Formatting, settings);
response.Write(result);}我已经尝试了“ReferenceLoopHanding.Ignore”技巧,它使异常静音,但列表仍未传递给视图。当我改为routes单个对象而不是列表时,代码工作,所以我认为代码不喜欢使用列表。我是这个项目的新手,所以我不知道如何解决这个问题,并使用List ...编辑:这是完整的异常消息,它发生在该string result = JsonConvert...行上。使用类型'System.Data.Entity.DynamicProxies.PartNumber_B135A5D16403B760C3591872ED4C98A25643FD10B51246A690C2F2D977973452'检测到自引用循环。路径'路线[0] .incomingLots [0] .partNumber.partType.partNumbers'。
- 2 回答
- 0 关注
- 772 浏览
添加回答
举报
0/150
提交
取消