Problème: Lors de la mise en cache d'une instance d'une classe et de sa sortie immédiate du cache, je récupère l'objet (son non null), mais toutes ses propriétés/champs sont NULL ou par défaut.AppFabric Caching - Quelles sont ses exigences de sérialisation et de désérialisation pour un objet?
_cacheHelper.PutInCache("testModuleControlInfoOne", mci);
//mci has populated fields
var mciFromCacheOne = _cacheHelper.GetFromCache("testModuleControlInfoOne");
//mciFromCacheOne now has null or default fields
Je soupçonne la façon dont l'objet est structuré est le problème et AppFabric ne sérialisation l'objet correctement pour une raison quelconque. Cependant, lorsque j'utilise la méthode de sérialisation suivante, je récupère l'objet avec toutes les propriétés/champs tels qu'ils étaient avant la sérialisation.
public T SerializeThenDeserialize<T>(T o) where T : class
{
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, o);
ms.Position = 0;
return (T)bf.Deserialize(ms);
}
}
Comment un serialize objet et désérialiser correctement en utilisant le formatter binaire et ne pas faire exactement la même chose via la mise en cache?
Est-ce que quelqu'un a rencontré cela ou est-ce que quelqu'un a des suggestions ou des conseils sur ce qu'il faut généralement faire attention?
réponse à la question similaire posté ici: http://stackoverflow.com/questions/3756480/appfabric-caching-can-i-specify-serialization- style-used-for-all-objects/8195002 # 8195002 – kenster