查看system . web . httprtime . cache中缓存的数据
本文关键字:缓存 数据 cache system web httprtime 查看 | 更新日期: 2023-09-27 18:17:05
是否有任何工具可用于查看HttpRunTime缓存中的缓存数据..?
我们有Asp。Net应用程序,它将数据缓存到HttpRuntime缓存中。默认值为60秒,但后来更改为5分钟。但感觉缓存的数据在5分钟前刷新。不知道下面发生了什么。
是否有任何可用的工具,或者我们如何看到HttpRunTime缓存....缓存的数据还有过期时间…?
public static void Add(string pName, object pValue)
{
int cacheExpiry= int.TryParse(System.Configuration.ConfigurationManager.AppSettings["CacheExpirationInSec"], out cacheExpiry)?cacheExpiry:60;
System.Web.HttpRuntime.Cache.Add(pName, pValue, null, DateTime.Now.AddSeconds(cacheExpiry), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High, null);
}
谢谢。
缓存类支持一个IDictionaryEnumerator来枚举缓存中的所有键和值。
IDictionaryEnumerator enumerator = System.Web.HttpRuntime.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
string key = (string)enumerator.Key;
object value = enumerator.Value;
...
}
但是我不相信有任何官方的方法可以访问元数据,比如过期时间
缓存类支持IDictionaryEnumerator枚举缓存中的所有键和值。下面的代码是如何从缓存中删除每个键的示例:
List<string> keys = new List<string>();
// retrieve application Cache enumerator
IDictionaryEnumerator enumerator = System.Web.HttpRuntime.Cache.GetEnumerator();
// copy all keys that currently exist in Cache
while (enumerator.MoveNext())
{
keys.Add(enumerator.Key.ToString());
}
// delete every key from cache
for (int i = 0; i < keys.Count; i++)
{
HttpRuntime.Cache.Remove(keys[i]);
}