application对象读取数据的语法:
'读
数据=application( "数据名称 ")
'写
application( "数据名称 ")=数据
例:
dim i
application(i)=application(i)+1
application数据非同步更新:
application.lock '锁定对象
application(i)=application(i)+1
application.unlock '解除锁定
application生命周期:
起于iis开始,终止于iis停止动作或关机
如果有两个人: 甲和已在同学访问一个网站
1.
sessin[ "userid "] = "甲 ";// 表示只要甲不注销,不文伦跳到哪个页面,string str = session[ "userid "]都保存初始化时的数据,常用于在: page_load事件中,验证身份
page_load()
{
if(session[ "userid "] == null || session[ "userid "] == " ")
{
response.redirect( "登录页面,重新登录 ");
}
else
{
呈现出页面
}
}
2.
application[ "x "];
只要赋了值,如: application[ "x "]; 则甲和已可以共享到此值,可以用于计数器,记录站点访问量
只要一个用户登录,则application[ "x "] += 1;//加一个数,表示有个新用户刚刚登录
3.
this.viewstate[ "y "] = "abcde ";
则表示在本页面中,this.viewstate[ "y "] 值可以作为全局变量使用,只要不退出本页面,
包括刷新页面,它都不会丢失
application可以储存一般变量,也可以储存含有大量数据的对象.
1 void application_start(object sender, eventargs e)
2 {
3 //在应用程序启动时运行的代码
4 application["count"] = 0;
5 system.io.filestream fs = system.io.file.open(server.mappath("count.txt"), system.io.filemode.openorcreate);
6 system.io.streamreader sr = new system.io.streamreader(fs);
7 application["allusers"] = convert.toint32(sr.readline());
8 sr.close();
9 fs.close();
10 }
11 void application_end(object sender, eventargs e)
12 {
13 //在应用程序关闭时运行的代码
14
15 }
16 void application_error(object sender, eventargs e)
17 {
18 //在出现未处理的错误时运行的代
19
20 }
21 void session_start(object sender, eventargs e)
22 {
23 //在新会话启动时运行的代码
24 application.lock();
25 application["count"] = convert.toint32(application["count"]) + 1;
26 application["allusers"] = convert.toint32(application["allusers"]) + 1;
27 system.io.filestream fs = new system.io.filestream("count.txt", system.io.filemode.openorcreate, system.io.fileaccess.readwrite);
28 system.io.streamwriter sw = new system.io.streamwriter(fs);
29 sw.writeline(application["allusers"]);
30 sw.close();
31 fs.close();
32 application.unlock();
33 }
34
35 void session_end(object sender, eventargs e)
36 {
37 application.lock();
38 application["count"] = convert.toint32(application["count"]) - 1;
39 application.unlock();
40
41 }
总结:
applicationd一般用于向存储一些不经常会变动的变量各常量,例如像系统菜单这种一但程序运行后就不大可能再变动的数据信息。
application有一个一好的地方,如里运用不好的话,存储的数据会没有计时性。因为也是跟应用程序是共存共亡的。
几种常用的变量:
application是应用程序级变量,如果用到多个用户之间的通信的时候用
session 是用户变量,一个用户访问多个页面时可以保存数据到另一个页面,只要此用户不注销就可以
viewstate 页面变量,相当于页面全局变量,但是一旦退出当前页面,它就会丢失