Bagi saya ini adalah masalah dengan referensi melingkar.
Jawaban yang diterima tidak berfungsi untuk saya karena hanya mengubah perilaku pemformat JSON, tetapi saya mendapatkan XML saat memanggil layanan dari browser.
Untuk memperbaikinya, saya mematikan XML dan memaksa hanya JSON yang dikembalikan.
Di file Global.asax, letakkan baris berikut di bagian atas metode Application_Start Anda:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
Sekarang hanya hasil JSON yang akan dikembalikan. Jika Anda memerlukan hasil XML, Anda perlu mencari solusi lain.
InnerException
properti pengecualian serialisasi untuk mencari tahu apa sebenarnya yang menyebabkan serialisasi gagal.