aspx页面状态管理(查询字符串Request与Application)

1,Request:可以方便的将信息从一个页面传递到另一个页面,通过url传递,不安全,数据量小,只能通过http-get提交的才可以

2,Application对象:()本质上是Hash表)所有访问此应用程序的客户都能看到Application对象的值,主要用于储存所有用户公共的信息,如果木有使用程序强制释放,则Application对象会存在于整个应用程序的生命周期哦

asp.net的应用程序池中保存数个(Application)应用程序实例,每一次请求都会从池中取出一个实例来处理请求,在请求完毕之前,该实例不会接受其他请求;若同一时间存在多个请求访问Application.因为Application对象内部有一个线程锁,调用本身的Add,Remove等方法会自动调用加锁和解锁操作,处于对性能考虑,对于直接通过索引器或其他方式得到其中的对象并进行操作的过程,Application需要类似一下代码进行处理

Application.Lock();
Application["Count"]=(int)Application["Count"]+1;
Application.UnLock();

调用Lock之后,如果木有显示调用UnLock,这个请求结束的时候,Application对象会自动解锁,防止死锁产生,但是建议还是加上UnLock方法

 

posted @ 2014-12-04 18:21  寒空孤鹰  阅读(841)  评论(0编辑  收藏  举报