简单的可以理解为Application储存的是服务端数据,任务人都可以改,为了防止多个人同时修改Application,所以要用Lock方法让其他人不可修改,等自己改完了,再用UnLock方法让其他人可以修改。
Application.Lock/UnLock的使用方法:
Application.Lock();
//其他代码
Application["value"] = 1;
//其他代码
Application.UnLock();
//其他代码
Application["value"] = 1;
//其他代码
Application.UnLock();
网站内任何一个网页执行Application.Lock的时候,整站中所有关于Application的操作都会被锁定延时执行。(包括:Application赋值和Application读取);
eg.
A页面:
Application.Lock();
Application["value"] = 1;
System.Threading.Thread.Sleep(10000);
Application.UnLock();
Application["value"] = 1;
System.Threading.Thread.Sleep(10000);
Application.UnLock();
B页面:
object value = Applcation["value"];
我们先执行A页面,再执行B页面。由于Application在A页面中被锁定,所以B页面中需要获取Application中的值则需要等待A页面中执行完毕才行。
相对于Session储存的是客户端的数据,只有自己能改(自己私有的)。