0
私は、リクエストごとに支払うREST APIの価格設定リストを使用するシステムで作業しています。だから、これらの価格は非常に頻繁に変化しないので、私はそれらをメモリキャッシュに保持します。私の問題は、このキャッシュがリフレッシュしていないことです。リフレッシュするためには、アプリケーションプールをリサイクルする必要があります。以下は、私が価格を取得するために使用する機能です:Asp.Netメモリキャッシュがリフレッシュされない
public static List<PricingModel> GetItemPrices()
{
var cache = MemoryCache.Default;
string key = "ItemPrices";
var val = cache[key] as List<PricingModel>;
if (val == null)
{
val = new List<PricingModel>();
val = apiProxy.GetPrices();
foreach (var price in val)
{
price.Price *= 100;
}
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration = DateTimeOffset.Now.AddHours(1);
cache.Set(new CacheItem(key, val), policy);
}
return val;
}
私は実際に更新するためにキャッシュポリシーに何かがないのですか?私は間違って何をしていますか?任意のヘルプ
web.configの@Immanuealキャッシュについては何もありません。私はそれを強制的に偽にするつもりですし、私はその事実でないことを確認するために鍵をチェックします –
重複する鍵は問題ではありません私は強制的に失効を偽に強制しました。それは動作しませんでした –
OK。これに関連することはほとんどありませんが、この[link](https://stackoverflow.com/questions/16972641/expiring-a-cached-item-via-cacheitempolicy-in-net-memorycache)をチェックしてください。見て – Immanuel