使用JSON.Net“檢測到自我引用循環(huán)”異常我有一些代碼將一個(gè)Route對(duì)象列表發(fā)送到我的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班上得到一個(gè)例外:if (Data != null){
var settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
string result = JsonConvert.SerializeObject(this.Data, this.Formatting, settings);
response.Write(result);}我已經(jīng)嘗試了“ReferenceLoopHanding.Ignore”技巧,它使異常靜音,但列表仍未傳遞給視圖。當(dāng)我改為routes單個(gè)對(duì)象而不是列表時(shí),代碼工作,所以我認(rèn)為代碼不喜歡使用列表。我是這個(gè)項(xiàng)目的新手,所以我不知道如何解決這個(gè)問題,并使用List ...編輯:這是完整的異常消息,它發(fā)生在該string result = JsonConvert...行上。使用類型'System.Data.Entity.DynamicProxies.PartNumber_B135A5D16403B760C3591872ED4C98A25643FD10B51246A690C2F2D977973452'檢測到自引用循環(huán)。路徑'路線[0] .incomingLots [0] .partNumber.partType.partNumbers'。
2 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
我不喜歡這種答案,因?yàn)槟陉P(guān)閉默認(rèn)啟用的EF6功能,這段代碼可能會(huì)破壞程序的其他部分。你應(yīng)該解釋它的作用以及它有什么樣的影響。
- 2 回答
- 0 關(guān)注
- 800 瀏覽
添加回答
舉報(bào)
0/150
提交
取消