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
toをキャストできない理由がわかりませんList<T>
。ここでのみ動作するようです。オブジェクトをJSON
フォーマットでキャストし、キーでプルして作成しますList Object
。
更新 1:
このケースは、リストだけでなく、キャッシュから取得されたエンティティ オブジェクトにも当てはまります。
更新 2:
DTOでも動作しません。
これでまだ回避策を探しています。