• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗中...

曾经的程序员。ASP.NET/C#, JavaScript, PL/SQL, T-SQL; 工具: VS2003/2005, Oracle, SQLServer; 偶尔写点CSS, 批处理.
头脑中经常有新想法, 可惜没有去实现.
Never give up.
Never get into a fight with a pig. Both of you will get dirty. But the pig actually enjoys it.
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

[翻译][.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

posted on 2010-01-12 23:02  jes  阅读(240)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3