[翻译][.NET Tip of The Day]正确使用 ASP.NET Cache
来自:http://dotnettipoftheday.org/tips/correct-using-of-aspnet-cache.aspx
正确使用 ASP.NET Cache
(Correct using of ASP.NET Cache)
通常在 ASP.NET 应用系统中我们可以看到类似下面这段代码:
if (Cache["SomeData"] != null)
{
string name = ((SomeClass)Cache["SomeData"]).Name;
//.....
}
这段代码不够安全而且第二个语句(statement)有时候会产生一个 NullReferenceException 异常. 这样做不能保证(guaranttee) 一个已缓存的对象在两次调用(calls)之间会被保持在 cache 中. 在第一次调用后, 它既不会被GC(garbage collector)回收删除, 也不会被其他线程刷新缓存的数据.
所以使用操作符(as operator) 重写这段代码来解决(overcome)这个问题:
SomeClass someClass = Cache["SomeData"] as SomeClass;
if (someClass != null)
{
string name = someClass.Name;
//.....
}
via Dmytro Shteflyuk
1/30/2008
浙公网安备 33010602011771号