asp.net环境下的静态类以及静态变量

在ASP.NET环境下,静态类最大的特点就是共享。

大家都知道,静态类是不能实例化的,我们直接使用它的属性与方法。

因此 我们可以做一些比较有意思的事情。比如说预热数据。

public static class StaticClass
{
    public static int n = 0;

    public static void TestAdd()
    {
        n++;
    }
}
  • 网页 P1.aspx 调用 StaticClass.TestAdd(),并在页面上输出 n。
  • 网页 P2.aspx 调用 StaticClass.TestAdd(),并在页面上输出 n。

 

  • 访问者 V1 从客户端 C1 访问 P1.aspx,此时输出为 1。
  • 访问者 V2 从客户端 C2 访问 P2.aspx,此时输出为 2。
  • 访问者 V1 关闭浏览器,重新打开访问 P1.aspx,此时输出为 3。

只要 StaticClass 没有被重新编译,即使 P1.aspx、P2.aspx 被重新编译,每当调用 StaticClass.Add(),n 都会在前一个次的基础上加 1

也可以这样说,只要IIS没有重启或者网站没有重启,项目没有被重新发布,都是一直保持的。

posted @ 2015-12-22 22:35  北斗玄太虚  阅读(1017)  评论(0)    收藏  举报