私人财产的使用寿命

本文关键字:财产 | 更新日期: 2023-09-27 18:27:24

试图找到答案,但没有找到任何信息。。。

我已经基于以下示例构建了一个完整的属性:

private static Foo _foo;
public static Foo foo {
get 
{
   if (_foo!= null) 
      return _foo;
   //else do some logic and fill _foo;
   _foo = ....;
}};

问题是,根据页面上的寿命,_foo何时为空?在第一次加载时,它当然会为null,但什么时候会再次为null?回收?在iisreset上?还是页面重新加载?

此属性位于类lib(外部dll)上

私人财产的使用寿命

根据页面上的使用寿命,foo什么时候为空?在第一次加载时,它当然会为null,但什么时候会再次为null?回收?在iisreset上?还是页面重新加载?

它不绑定到Page,在MVC实例中,数据是相对于Request的,静态数据绑定到Application实例。

每次重新启动应用程序时,即IIS回收或重置时,它都将为null。

这使得static数据在服务器应用程序中相当可疑。它可以作为一种简单的缓存形式使用,但要注意这不会"扩展"。每个服务器都有自己的副本。