List Collection에 DataCacheItem
을 전송할 수 없으므로 매우 이상합니다.Azure 캐시 객체의 Typecasting은 항상 null입니다.
데이터베이스에서 값을 가져 와서 캐시에 저장하지만 캐시에서 TypeCast로 데이터를 반환하도록 요청한 경우 캐시가이를 거부합니다.
Cannot cast 'isValueInCache' (which has an actual type of
'Microsoft.ApplicationServer.Caching.DataCacheItem') to
'System.Collections.Generic.List<MMD.Data.HumanGender>'
//Setting Value in Cache Object
var isValueInCache = BaseCache.Instance().RetrieveCacheValue("allGenders");
//TypeCasting of Data
var isSeariled = isValueInCache == null ?
Newtonsoft.Json.JsonConvert.DeserializeObject(proxy.GetAllGenders(),
typeof(List<HumanGender>)) as List<HumanGender>
: isValueInCache as List<HumanGender>;
내가 그것을 할 수없는 List<T>
에 Object
캐스팅 이유를 발견하지 않았습니다. 여기서는 내가 일하는 것처럼 보입니다. 캐스트 객체는 JSON
형식이고, 키로 당겨서 List Object
을 만듭니다.
업데이트 1 :
이 경우는뿐만 아니라 목록 함께뿐만 아니라 캐시 양식을 만회하는 모든 엔티티 객체.
는 DTO와 함께 작동하지 않는다.업데이트 2 :
아직도이 문제를 해결하고 있습니다.
기술적으로 'RetrieveCacheValue'는 객체를 반환하고 value 속성은 객체를 반환합니다. 그래서 그것의 동일한 가치. – joshua
에 동의합니다. 이에 대한 Microsoft의 설명서는 부적절합니다. – joshua