最近在网上搜罗了 ASP.NET WEB 状态管理方面的一些内容,终于把这些内容整合总结了一下。

1. 希望自己通过整理,能够掌握一些,为自己投资。

2. 以便自己忘记,又要浪费时间搜罗。

3. 希望对园友有帮助,这是一件很开心的事情

4. 希望大侠们看到问题及时帮忙指正,不想误导自己,更不想误导园友,在下不胜感激

不再磨叽,马上上菜

名称

用户

生存时间

数据

位置

优势

劣势

建议

Application

所有用户

应用程序重新启动

没有限制,只被存储一次

服务器,可以存储在数据库

1. 实现简单

2. 整个应用程序作用域(公用)

1. 整个应用程序作用域的范围导致没有与私人空间

2. 服务器挂掉、升级以及关闭可能会导致数据丢失或被破坏

3. 需要占用服务器内存

存储多用户使用但不经常改变且不考虑安全性的全局信息

Cookie

当前用户

一般很短,但是只要用户不删除,可以是数月甚至数年

少量且经常改变的数据

客户端

1. 存储时间可配置

2. 无需服务器资源

3. 简单

4. 数据持久化

1. 数据大小受限

2. 用户可禁用

3. 潜在安全隐患

需要在客户端且不需要考虑安全性的少量数据

QueryString

一个或一组用户

为下一个请求 (可以跨多个请求重复使用)

很小,简单数据

客户端

1. 无需服务器资源

2. 被广泛支持

3. 实现简单

1. 潜在安全隐患

2. 能力有限(被URL长度限制)

通过链接,从一个面发送到另一个页面或者是相同页面,且不需要考虑安全性的少量数据

Session

当前用户

只要用户是在线的,以及在超时时间内(一般是20分钟),支持自失效

没有限制,但是应尽量小,因为每个用户都有自己单独session的存储

服务器

1. 实现简单

2. 可以使用会话管理事件

3. 数据持久化

4. 可在多计算机、多个进程之间使用

5. 弥补Cookie受限

6. 可以自定义和扩展Session

1. 性能问题

需要考虑安全性,存储特定的单独会话的短期信息

Cache

所有用户或者用户子集

根据实际需要可长可短

可很大、也可以很小、也可以很复杂

客户端/服务器

1. 有ASP.NET管理

2. 当内存不足或者超时,将自动清除

3. 可配置

4. 减轻Web Service或者数据库的负担

5. 提高性能

6. 可靠性

1. 同步不及时

2. 扩展性问题

3. 维护成本

用户经常访问但不经常更新的数据

View State

当前用户

一个页面

少量信息,随着页面的回发,数据将会在页面来回发

客户端,以隐藏域的形式存储

1. 无需服务器资源

2. 实现简单

3. 增强全性

1. 性能问题

2. 设备限制

3. 潜在安全隐患

存储少量需要回发给自己的页面信息

Control state

当前用户

一个页面

少量信息,往返于服务器之间的控制使用的状态信息

客户端,默认以隐藏域的形式存储

1. 无需服务器资源

2. 可靠

3. 通用

1. 特定程序依赖性

需要存储少量信息往返于服务器之间的控制使用的状态信息

Hidden Fields

当前用户

一个页面

少量且经常被改变的数据

客户端

1. 无需服务器资源

2. 被广泛支持

3. 实现简单

1. 潜在安全隐患

2. 存储数据简单

3. 性能问题

4. 存储限制

需要发送到另一个页面或者回发,且无需考虑安全性的少量页面信息

Profile Properties

当前用户

配置文件更新

任何类型的数据

服务器

1. 数据持久化

2. 可在多计算机、多个进程之间使用

3. 可扩展性

1. 性能问题

2. 额外的配置要求

3. 维护数据

用户session过期后需要持久化的信息,用户下次访问时需要恢复的信息

Database

当前用户

只要不被删除

任何类型的数据

服务器

1. 安全性

2. 数据存储量大

3. 数据持久化

4. 稳定性和数据完整性

5. 可访问性

6. 被广泛支持

1. 复杂性

2. 性能问题

存储大量的信息,使用管理事务,或者整个应用程序生命周期都需要使用的信息,再次访问时需要使用的信息。考虑数据挖掘,考虑安全性。

再次希望,如果有问题能及时帮忙指正,有问题请留言,有帮助就支持一下吧!

表格搞定 Asp.net Web 状态管理的更多相关文章

  1. ASP.NET Web – 状态管理

    状态类型 客户端或服务器资源 有效时间 ViewState 客户端 只在一个页面中 Cookie 客户端 关闭浏览器时会删除临时cookie,永久cookie存储在客户系统的磁盘上 Session 服 ...

  2. asp.net 的状态管理

    状态管理 (state management) 在Web应用程序中,一向是很重要的课题,良好的状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但 ...

  3. web状态管理机制

    引入:b/s(浏览器/服务器模式)区别于winform的是winform中只加载一次页面构造函数,而b/s中只要点击按钮或者其他涉及后台的操作都会调用后台代码.一般情况下为了防止服务器过载,b/s不会 ...

  4. 几个步骤轻松搞定ASP.NET 依赖注入。

    http://www.it165.net/pro/html/201407/17685.html 我在网上看到了这篇文章,这边文章主要说的方法就是通过读取配置文件来解决依赖注入的问题.但是每次新建一个依 ...

  5. 三方面搞定http协议之“状态码”

    当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...

  6. 一个文件搞定Asp.net core 3.1动态页面转静态页面

    最近一个Asp.net core项目需要静态化页面,百度查找了一下,没有发现合适的.原因如下 配置麻烦. 类库引用了第三方类,修改起来麻烦. 有只支持MVC,不支持PageModel. 继承Actio ...

  7. [译]面向初学者的Asp.Net状态管理技术

    介绍 本文主要讲解Asp.Net应用程序中的状态管理技术(Asp.Net中有多种状态管理技术),并批判性地分析所有状态管理技术的优缺点. 背景 HTTP是无状态的协议.客户端发起一个请求,服务器响应完 ...

  8. 让ASP.NET Web API支持text/plain内容协商

    ASP.NET Web API的内容协商(Content Negotiation)机制的理想情况是这样的:客户端在请求头的Accept字段中指定什么样的MIME类型,Web API服务端就返回对应的M ...

  9. [Asp.Net]状态管理(ViewState、Cookie)

    简介 HTTP协议是无状态的.从客户端到服务器的连接可以在每个请求之后关闭.但是一般需要把一些客户端信息从一个页面传送给另一个页面. 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请 ...

随机推荐

  1. Python-模块

    一.模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样, ...

  2. 安装zeppelin

    安装zeppelin 1.默认安装好spark集群 2.安装zeppelin 1.解压安装包 tar zxvf zeppelin-0.5.5-incubating-bin-all.tgz 2.配置环境 ...

  3. python学习 3笔记

    merge dict def merge(defaults, override): r = {} for k, v in defaults.items(): if k in override: if ...

  4. PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果

    固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...

  5. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...

  6. [BZOJ1127][POI2008] KUP子矩阵

    Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左 ...

  7. jquery事件核心源码分析

    我们从绑定事件开始,一步步往下看: 以jquery.1.8.3为例,平时通过jquery绑定事件最常用的是on方法,大概分为下面3种类型: $(target).on('click',function( ...

  8. Shader实例:溶解效果(Dissolve)

    效果: 图左:一道金光闪过,瞬间灰飞烟灭 图右:燃烧效果,先过渡到黄色,然后渐渐过渡到黑色,最后消失殆尽. 这是游戏中常见的效果,各位可以想想自己玩过的游戏. 手头正在玩的,梦三国手游,死亡的时候就是 ...

  9. CSS样式,雪碧,图片替换,渐变小析

    Css基础2: 相对长度单位:em,rem,px,%绝对长度单位:厘米等(不用)颜色单位:rgb,rgb的百分比,16进制(#),颜色名称字体:font-size:为了更好适合点阵,尽量使用偶数fon ...

  10. JavaWeb中读取文件资源的路径问题

    在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...