我想序列化一些對象到Json中。有時(並不總是,我不知道是什麼觸發它)這些對象中的一個是代理,即使沒有循環引用,也會導致序列化程序發出循環引用錯誤:「在序列化一個循環引用時檢測到循環引用「System.Reflection.RuntimeModule」類型的對象。「如何打開de-proxy對象,以便將它們序列化爲Json?
我的代碼使用NHibernate和JavaScriptSerializer:
public static string Convert(object xiObject)
{
var lSerialiser = new JavaScriptSerializer();
return lSerialiser.Serialize(xiObject);
}
延遲加載理應關閉,如:
HasManyToMany(x => x.Managers)
.Not.LazyLoad();
這聽起來很相似,這傢伙的問題: http://markmail.org/message/x5a2k7j7qtjmj73g#query:+page:1+mid:4r5lcggmfrcq5tby+state:results
所以我的計劃是使用Json.net而不是JavaScriptSerializer,並在該頁面上實現解決方案,但看起來確實比較複雜licated。任何其他建議都會很棒。
謝謝 - 此鏈接做到了:http://sessionfactory.blogspot.co.uk/2010/08/hacking-lazy-loaded-inheritance.html – JYX 2012-03-19 11:35:16