正确使用 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

相关文章:

  • 2021-08-18
  • 2021-09-04
  • 2021-10-25
  • 2021-11-30
  • 2021-08-02
  • 2021-09-14
  • 2021-06-16
  • 2022-12-23
猜你喜欢
  • 2022-01-22
  • 2021-11-08
  • 2021-06-08
  • 2021-07-04
  • 2021-09-13
  • 2021-07-05
  • 2021-11-14
相关资源
相似解决方案