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没有重启或者网站没有重启,项目没有被重新发布,都是一直保持的。

时间: 2024-12-15 00:28:57

asp.net环境下的静态类以及静态变量的相关文章

asp.net 环境下当javascript验证不通过是禁止button按钮执行onclick事件的

把内容过程重要的一些内容段做个记录,下边资料是关于asp.net 环境下当javascript验证不通过是禁止button按钮执行onclick事件的内容. <script type ="text/javascript" language="javascript">function checkInput() { var strMsg = "";var userName = document.getElementById("&

Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集

最近升级了系统到Mac OS X 10.10 并且更新了XCode6.1和iOS 8.1之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集.需要重新编译查阅了下资料,按照如下步骤,并做了些注释和改动 1.http://sourceforge.net/projects/lame/files/lame/3.99/ 下载lame的最新版本解压到一个文件夹里例如 lame,全路径如下/Users/8wm/Desktop/lame 2.

ASP.NET环境下集成CKEditor与CKEditor实现文件上传

1.从http://ckeditor.com网站上下载ckeditor_aspnet_3.6.4与ckfinder_aspnet_2.4; 2.解压下载的文件ckeditor_aspnet_3.6.4.zip,得到 解压下载的文件ckfinder_aspnet_2.4.zip,得到 3.将ckeditor_aspnet_3.6.4\_Samples\bin文件夹下的CKEditor.NET.dll和CKEditor.NET.pdb,以及ckfinder_aspnet_2.4\ckfinder\b

vmware虚拟机环境下配置centos为静态IP的步骤

一.修改centos配置文件 配置文件位于/etc/sysconfig/network-scripts/ifcfg-eth0 修改的内容为: ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 GATEWAY=192.168.1.2 DNS1=192.168.1.2 第1.2行是在原基础上修改内容 第3.4.5行是在原基础上添加内容 二.修改电脑配置 这个配置是跟电脑的网络设置对应的: 三.修改虚拟机vmware设置: 编辑->虚拟网络编辑器 原文地

C#静态类,静态构造函数,静态变量

本篇体验静态变量.静态构造函数和静态类. 静态变量 静态变量位于栈上,它是一个全局变量,在编译期就已经生成. public class Cow { public static int count; private int id; public Cow() { id = ++count; } } 客户端创建2个Cow的实例,并打印静态变量count. static void Main(string[] args) { Console.WriteLine(Cow.count); Cow cow1 =

Java静态变量&amp;实例变量&amp;静态方法

首先语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加. 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量.静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了.总之,实例变量必须创建对象后才可以通过这个对象来使用 1 package staticVar; 2 3 public class svar { 4

ASP环境下轻松实现报表的打印 (转)

作者:zcg2000 一.前言 ASP在电子商务上应用广泛,报表的处理又有一些麻烦.本文介绍了在ASP中利用 本人写的Report Server Page脚本解释器实现报表的显示.打印. 二.准备工作 (1)安装Visual Reprort Design软件 Visual Report Design是本人写的一个免费的报表设计器,程序的发行只需要 安装一个60K的控件即可. 想要的网友可以到http://go.163.com/reportpro/下载 (2)设计报表 通过Visual Repor

VC、IE、ASP环境下打印、预备的完美解决方案

一种基于XML的报表开发工具,它支持从设计报表,调用API打印.预览,能支持分布式报表.方便报表的存储.转发.在报表中能嵌入VBScript,能方便地访问VB,VC的变量,能访问COM组件.ADO等遵循ActiveX标准的控件. 包括报表可视化开发界面.报表语法解释器,基于COM的组件.是分布式报表的完美解决方案 语法如下: <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE report SYST

如何在IIS7.0环境下配置ShopNum1分销系统静态化

近来遇到有许多用户已经更换了最新的操作系统,那么,在新的操作系统.新的环境下,究竟 应该如何配置ShopNum1分销系统呢?下面,我们来为大家详细介绍一下如何在Windows Server 2008.IIS7.0环境下配置ShopNum1分销系统:        首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为7.0,我们知道,IIS7.0与IIS6.0   的操作界面差别较大,如图所示:     1.IIS7.0操作界面:     2 新建网站同