Это очень странно, поскольку невозможно преобразовать DataCacheItem
в коллекцию списков.
я извлекаю значение из базы данных и сохраняю его в кеше, но если я прошу кеш вернуть данные с помощью 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>;
я не понял, почему он не может преобразовать Object
в List<T>
. Мне кажется, здесь можно только обойти, отлить объект в формате JSON
, вытащить по ключу и создать List Object
.
Обновление 1:
этот случай относится не только к списку, но и к любому объекту сущности, который извлекается из кэша.
Обновление 2:
Также не работает с DTO.
Все еще ищу работу в этом.