Stackoverflow when call Get() method
-
martes, 03 de julio de 2012 20:42
Hi there,
I'm currently developing a project which using WCF and AppFabric but the DataCache.Get() method always throw the exception as below:
An unhandled exception of type 'System.StackOverflowException' occurred in Serialization.dll
- Editado ehor martes, 03 de julio de 2012 20:44
Todas las respuestas
-
jueves, 05 de julio de 2012 2:00
Hi Ehor,
Can you tell us which version of Appfabric Cache are you using? Can you also share the snippet of the code?
--Thanks
Vinushree
-
viernes, 06 de julio de 2012 22:07
I'm using AppFabric version 1.1. This issue only happen on debug mode.
To simplify my code, basically I have four Self Tracking Entity (STE) models.
[DataContract] public class Model_Root { [DataMember] public int Id { get; set; } //Navigation Property [DataMember] private TrackableCollection<Model_A> Model_A_Collection { get; set; } [DataMember] private TrackableCollection<Model_B> Model_B_Collection { get; set; } } [DataContract] public class Model_A { [DataMember] public int Model_A_Id { get; set; } //Navigation Property [DataMember] public Model_Root ModelRoot { get; set; } [DataMember] public TrackableCollection<Model_A_B> Model_A_B { get; set; } } [DataContract] public class Model_B { [DataMember] public int Model_B_Id { get; set; } //Navigation Property [DataMember] public Model_Root ModelRoot { get; set; } [DataMember] public TrackableCollection<Model_A_B> Model_A_B { get; set; } } [DataContract] public class Model_A_B { [DataMember] public int Model_A_Id { get; set; } [DataMember] public int Model_B_Id { get; set; } //Navigation Property [DataMember] public Model_A Model_A { get; set; } [DataMember] public Model_B Model_B { get; set; } }
For app fabric, the class as below
public static class CacheManager { private static DataCache _dataCache; static CacheManager() { var cahceFactory = new DataCacheFactory(); _dataCache = cahceFactory.GetCache("Development_Cache_Name"); } public static object Get(Model_Root modelRoot) { var key = String.Format("Model_Root_{0}", modelRoot.Id); return _dataCache.Get(key, "Model_Root"); } }
- Editado ehor viernes, 06 de julio de 2012 22:10

