为了账号安全,请及时绑定邮箱和手机立即绑定

使用JSON.Net“检测到自我引用循环”异常

使用JSON.Net“检测到自我引用循环”异常

四季花海 2019-08-28 16:06:39
使用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 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我不喜欢这种答案,因为您正在关闭默认启用的EF6功能,这段代码可能会破坏程序的其他部分。你应该解释它的作用以及它有什么样的影响。 

查看完整回答
反对 回复 2019-08-28
  • 2 回答
  • 0 关注
  • 772 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信