Wednesday, March 21, 2012

A Circular Reference Was Detected error

Hi there,

This has been confusing me to no ends for the past weekend and I ask for your help. When I try to access an IList of Type <SampleRow> or any list structure for that matter, I get this:

A circular reference was detected while serializing an object of type ...<- Many types have popped up (System.Reflection.Module) for example.

I've been trying to run the samples in the documentation with no more success (same error). I'm thinking this has to do with some libraries loaded and not the code itself. I have looked in the GAC, uninstalled/reinstalled everything from VS2005 to the ATLAS Framework (even IIS) with no go. I need to get the list structure for the listview control of ATLAS. It this can help, I'm pasting the stacktrace. Also, I'm not sure this is a specific ATLAS error but I can't tell otherwise. Thanks for your help. If you need anything more, please ask.Smile

[InvalidOperationException: A circular reference was detected while serializing an object of type 'System.Reflection.Module'.]
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +766
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeCustomObject(Object o) +706
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +908
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeCustomObject(Object o) +706
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +908
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeCustomObject(Object o) +706
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +908
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeCustomObject(Object o) +706
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +908
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeEnumerable(IEnumerable enumerable) +159
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +874
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeCustomObject(Object o) +706
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValueInternal(Object o) +908
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.SerializeValue(Object o) +90
Microsoft.Web.Script.Serialization.JavaScriptObjectSerializer.Serialize(Object o, IJavaScriptSerializationContext context) +62
Microsoft.Web.UI.Controls.InitialData.GetDataServiceResult() +589
Microsoft.Web.UI.Controls.InitialData.RenderScript(ScriptTextWriter writer) +248
Microsoft.Web.UI.Controls.InitialData.Microsoft.Web.Script.IScriptObject.RenderScript(ScriptTextWriter writer) +31
Microsoft.Web.UI.ScriptManager.RenderXmlScript(TextWriter writer) +735
Microsoft.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +663
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +96
System.Web.UI.Page.PerformPreRenderComplete() +32
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +479

Lesson learned: commenting the web.config file temporarily and forgetting about it is a bad idea. I had the converters section commented out, re-enabling them solved the problem. If it can help anyone to learn from my mistake then I won't have posted in vain!

Thanks.

No comments:

Post a Comment