สำหรับฉันนี่เป็นปัญหาเกี่ยวกับการอ้างอิงแบบวงกลม
คำตอบที่ยอมรับใช้ไม่ได้สำหรับฉันเพราะมันเปลี่ยนพฤติกรรมของตัวจัดรูปแบบ JSON เท่านั้น แต่ฉันได้รับ XML เมื่อฉันเรียกใช้บริการจากเบราว์เซอร์
ในการแก้ไขปัญหานี้ฉันปิด XML และบังคับให้ส่งคืนเฉพาะ JSON
ในไฟล์ Global.asax ให้วางบรรทัดต่อไปนี้ที่ด้านบนของเมธอด Application_Start ของคุณ:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
ตอนนี้จะแสดงเฉพาะผลลัพธ์ JSON เท่านั้น หากคุณต้องการผลลัพธ์ XML คุณจะต้องหาวิธีแก้ไขปัญหาอื่น
InnerException
คุณสมบัติของข้อยกเว้นการทำให้เป็นอนุกรมเพื่อดูว่าอะไรทำให้การทำให้เป็นอนุกรมล้มเหลว