相对于使用简单静态字段,使用HttpRuntime Cache的主要优点和缺点是什么?
我需要将数据存储在整个ASP.NET应用程序的范围内。
HttpRuntime.Cache["MyData"] = someHashtable;
与
private static System.Collections.Hashtable _myData;
public static System.Collections.Hashtable MyData
{
get
{
if (_myData == null)
{
_myData = new System.Collections.Hashtable();
// TODO: Load data
}
return _myData;
}
}
最佳答案
除非明确设置,否则HttpRuntime.Cache
中的对象的有效期限未知(这意味着对象可以随时失效),而HashTable
中的对象将随着应用程序池的存在而存活(除非您手动删除条目)。 HttpRuntime.Cache
还允许您设置各种其他特征,例如(可选)缓存项优先级和到期时间。
关于c# - HttpRuntime缓存与静态字典/字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6922763/