Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_On Start事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈.因此最好不要用此对象保存大的数据集合.
Session对象 Session采用键值对 , 也就是说ID存放客户端 , 而值放在服务器端 , 是通过用户的ID去找服务器上对应的值 , 这种方式值放置在服务器端 ,有个时间限制 ,时间到则服务器自动释放。 Session中的信息保存在服务器的内存中,当然你也可以设置它的保存方法(如存在SQL数据库中)。 Session用于保存每个用户的专用信息。它的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右)。 Session中的信息保存在Web服务器内容中,保存的数据量可大可小。当Session超时或被关闭时将自动释放保存的数据信息.由于用户停止使用应用程序后它仍然在内存中保持一段时间,因此使用Session对象使保存用户数据的方法效率很低。对于小量的数据,使用Session对象保存还是一个不错的选择 Cookie对象 Cookie对象保存在客户端,Session和Application对象保存在服务器端。 所有Cookie对象能够长期保存,Web应用程序可以通过获取客户端的Cookie值来判断用户的身份来进行验证。 无需任何服务器资源。 缺点,大小限制,如果客户端配置禁止Cookie设置,则被限制使用,安全风险,可以伪装。 Name:获取或设置Cookie的名称 Value:获取或设置Cookie的Value Expires:获取或设置Cookie的过期的日期 Version:获取或设置Cookie符合的HTTP维护状态的版本 Add:增加Cookie变量 Clear:清除Cookie集合内的变量 Get:通过变量名称或索引得到Cookie的变量值 Remove:通过Cookie变量名或索引删除Cookie对象 Cookies则有两种方法 , 一种方法是把值保存在浏览器的变量中 , 当浏览器关闭时结束 , 另一种方法是保存在硬盘中 , 只要时间不过期 , 下次还可使用. 隐藏域 Hidden控件是属于HTML类型的服务器控件,使用此控件可以实现隐藏域的功能。其实此控件和其它服务器控件的使用没有太大区别,只是它不会在用户端的浏览器中显示,始终处于隐藏状态。但是每次页面提交的时候,此控件和其它服务器控件一同提交到服务器端,因此在服务器端可以使用Value属性获取或保存一些数据信息
|