热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析ASP.NET中ViewState、Cookie和Session的区别与应用

本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。


























































类型

值保存在哪

值的有效范围

备注

View State

客户端

不能跨页面传递,只能在当前页面保存数据。

HTML中可以看到ViewState值,不过是加密。不是明文。

ViewState是保存页面数据的默认方法。

客户端将页面submit给服务器是,ViewState中就保存着各个控件的数据、和页面的其他数据。

经过设置,可以禁用ViewState

Control State

客户端

同ViewState

View State区别:Viewstate可以经过设置禁用。假如你自定义一个控件,如果将值保存在ViewState的话,在禁用Viewstate时,服务器可能无法获取控件数据,这时候你需要将控件数据保存在Control
State
中。

Hidden Fields

客户端

 

同ViewState

Hidden Fields就是保存数据,但是浏览器不会将它呈现和渲染。但是可以从HTML源码中直接看到对应的值,而且还是明文的,用户当然也就可以修改Hidden
Fields
值。

COOKIE

客户端

可以跨页面

保存在客户端的文本文件中,或者是内存中。

可以指定COOKIE的有效期。

Query Strings

客户端

同 ViewState

Query Strings很简单理解,它就保存在URL中的字段。

Session State

服务器

一次Session有效,可以跨页面。

最典型的应用:保存登录账户信息。

Applicant State

服务器

Websites运行阶段

IIS或者Websites重启后Applicant State级无效。

Profile Properties

服务器

 

可以永久保存

ASP.NET可以通过 Profiles Properties保存指定用户的信息,通过SqlProfileProvider可以将数据保存到SQL
DB
中,也就是说你可以将Profile Properties永久保存。


参考:http://msdn.microsoft.com/en-us/library/75x4ha6s.ASPX

博主地址:blog.csdn.net/zhang_hui_cs

ASP.NET 的 ViewState COOKIE Session 等的比较,布布扣,bubuko.com


推荐阅读
  • HTTP(超文本传输协议)是互联网上用于客户端和服务器之间交换数据的主要协议。本文详细介绍了HTTP的工作原理,包括其请求-响应机制、不同版本的发展历程以及HTTP数据包的具体结构。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • andr ... [详细]
  • 深入探讨PHP中的输出缓冲技术(Output Buffering)
    本文深入解析了PHP中输出缓冲(Output Buffering)的原理及其在Web开发中的应用,特别是如何通过输出缓冲技术有效管理HTTP头部信息,提高代码的灵活性与健壮性。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文将详细介绍Python中一个非常实用的HTTP客户端库——requests模块,它不仅易于使用,而且功能强大,非常适合用于开发网络应用或进行Web数据抓取。 ... [详细]
  • 本文详细介绍了如何在Android应用中处理和使用Cookie,包括登录时获取Cookie并将其存储,以及在WebView中同步这些Cookie以保持用户会话。 ... [详细]
  • 本文介绍了在使用 wget 下载并解压 JDK 时遇到的 'tar: Child returned status 1' 错误的原因及解决方案,包括检查文件完整性和正确的下载链接。 ... [详细]
author-avatar
Martha829
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有