viewstatemode(viewstatemode 数据变小了)
这些对象用来存储信息,包括用户信息、传递值的信息、全局信息等等。它们之间的区别如下:
1.应用对象
应用程序用于保存所有用户的公共数据信息。如果使用Application对象,需要考虑的一个问题是,任何写操作都必须在Application_OnStart事件(global.asax)中完成。虽然应用程序。锁和应用。解锁方法用于避免写操作的同步,它将对应用程序对象的请求序列化,这将在网站被大量访问时导致严重的性能瓶颈。因此,最好不要使用该对象来保存大型数据集。这里有一个在线用户统计数据的例子来说明这个问题。36860 . 68686868661
(以文件形式存储网站总访问量)
Global.asax类
代码:
2.会话对象
会话用于保存每个用户的特殊信息。当每个客户端用户访问时,服务器为每个用户分配一个唯一的ID(会话ID)。她的生存期是用户请求的持续时间加上一段时间(通常是20分钟左右)。会话中的信息保存在Web服务器内容中,保存的数据量可大可小。当会话超时或关闭时,保存的数据信息将自动释放。由于用户停止使用应用程序,它会在内存中保留一段时间,因此使用会话对象会使保存用户数据的方法效率低下。对于少量的数据,使用Session对象保存是一个不错的选择。使用会话对象保存信息的代码如下:3360
3.Cookie对象
Cookies用于保存请求服务器页面的客户端浏览器的请求信息。程序员也可以用它们来存储非敏感的用户信息,保存信息的时间可以根据需要设置。如果没有设置Cookie的过期日期,它们只会保存到浏览器程序关闭。如果Cookie对象的expiration属性设置为Minvalue,则意味着Cookie永远不会过期。Cookies存储的数据量非常有限。大多数浏览器支持4K的最大容量,因此它不应该用于保存数据集和其他大量数据。由于并不是所有的浏览器都支持cookies,而且数据信息是以明文的形式存储在客户端的电脑中,所以最好不要保存敏感和未加密的数据,否则会影响网站的安全性。使用cookie对象保存的代码如下:3360
4.视图状态对象
ViewState常用于保存单个用户的状态信息,其有效期等于页面的生存期。类似于隐藏控件。Viewstate在此页中的函数之间传输值。至于为什么要用这种方法,事件发生后可能会刷新页面,如果定义了全局变量,使用viewstate可以保存大量数据。ViewState容器,但必须谨慎使用,因为过度使用会影响应用程序的性能。所有Web服务器控件都使用ViewState在页的回发中保存它们的状态信息。如果控件在回发期间不需要保存状态信息,最好关闭对象的视图状态,
避免不必要的资源浪费。通过给@Page指令添加“EnableViewState=false”属性可以禁止整个页面的ViewState。使用ViewState对象保存信息的代码如下。
5.Cache对象
Cache对象用于在HTTP请求间保存页面或数据。该对象的使用可以极大地提高整个应用程序的效率。常用于将频繁访问的大量服务器资源存储在内存中,当用户发出相同的请求后服务器不再次处理而是将Cache中保存的信息返回给用户,节省了服务器处理请求的时间。其生存期依赖于该应用程序的生存期。当重新启动应用程序时,将重新创建其Cache对象的实例。使用Cache对象保存信息的代码如下。

6.隐藏域
Hidden控件是属于HTML类型的服务器控件,使用此控件可以实现隐藏域的功能。其实此控件和其它服务器控件的使用没有太大区别,只是它不会在用户端的浏览器中显示,始终处于隐藏状态。但是每次页面提交的时候,此控件和其它服务器控件一同提交到服务器端,因此在服务器端可以使用Value属性获取或保存一些数据信息。使用Hidden控件保存信息的代码如下。

7.查询字符串
查询字符串的方式是将要传递的值连接在URL后面,然后通过Response.Redirect方法实现客户端的重定向。这种方式可以实现在两个页面之间传递信息。由于URL的长度有一定的限制,因此不能传递太大的信息,加外安全性也不是很好。
传递信息如下。问号后面格式 key1=value1&key2=value2
代码:

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容请联系我们,一经查实,本站将立刻删除。
转载联系作者并注明出处:https://www.blogone.net/qiu/209.html
标签:
相关文章