内置对象(Session、Application、ViewState)

内置对象:为了跨页面传值和状态保持。→HTTP的无状态性

【4、】Session:
每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的

以上所有内容,都跟cookies一样

不一样:
1、Session的保存位置是保存在服务器上
2、Session没有持久的,它的保存周期就是20分钟

重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的

赋值:Session["key"] = 值;
取值:string a = Session["key"];
清除: Session["key"]=null;

denglu.aspx界面:

 protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        string Uname = TextBox1.Text;
        Session["user"] = Uname;//赋值
        Session["zhi1"] = TextBox3.Text;//再传个值
        Response.Redirect("xianshi.aspx");
    }

xianshi.aspx界面:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["user"] == null)//取值
        {
            Response.Redirect("denglu.aspx");
        }
        else
        {
            Label1.Text = "你好,"+Session["user"];
            //传第二个值时,显示完了关闭
            Label1.Text+=Session["zhi1"];
            Session["zhi1"]=null;//不需要保持时
        }

    }

【5、】Application:

全局对象
Application["key"] 是所有的用户获取这个key里面的值都是一样的
没有保存周期,它会一直保存着
通常在什么地方使用,版本号

赋值:Application["key"]=值;
取值:Application.Get("key");

denglu.aspx界面: Application["banben"] = "V1.3";

xianshi.aspx界面: Response.Write("当前版本号:"+Application.Get("banben"));

【6、】ViewState:

理解成为病例,记录上一个页面的内容信息。

1) session值是保存在服务器内存上,那么,可以肯定,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面隐藏控件里,不再占用服务器资源,因此, 我们可以将一些需要服务器"记住"的变量和对象保存到viewstate里面. 而sesson则只应该应用在需要跨页面且与每个访问用户相关的变量和对象存储上.

viewstate并不是能存储所有的.net类型数据,它仅仅支持String、Integer、Boolean、Array、ArrayList、Hashtable 以及自定义的一些类型.

任何事物都有两面性, 使用viewstate会增加页面html的输出量,占用更都的带宽,这一点是需要我们慎重考虑的. 另外, 由于所有的viewstate都是存储在一个隐藏域里面,用户可以很容易的通过查看源码来看到这个经过base64编码的值.然后再经过转换就可以获取你存储其中的对象和变量值.

时间: 2024-10-18 12:58:53

内置对象(Session、Application、ViewState)的相关文章

asp.net内置对象session和cookie

1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况下,session对象即被销毁,不要放太多/太大的对象在session. 4.Web应用程序在传统意义上无状态,需要使用内置对象进行客户端状态的保存. 5.session对象和Application对象存储在服务端,cookie对象存储在客户端. 6.session对象适用于安全性相比之下较高的场合

JSP内置对象—session

什么是session? session对象是用来在每一个用户之间分别保存每一个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在服务器端,session的id保存在客户端的cookie中. 例如我们乘坐火车就可以看做是一个session.当我们乘坐火车的时候,我们需要持有一张车票.车票就相当于是一个cookie.而车票上的座位号就相当于是sessionId.当我们需要访问列车的时候,检票员会事先检查我们是否持有cookie,如果有就根据cookie里的内容(sessionId)

内置对象session ,cookic,Application,ViewState

一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器.2.方法(1)Redirect用法:Response.Redirect("url")作用是在服务器端重定向于另一个网页(2)Write功能:向客户端发送浏览器能够处理

【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法

一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Text; Application["aaa"]=s; 取值: if(Application["aaa"]!=null) { Label1.Text=Application["aaa"].toString(); } 2.ViewState ViewSta

JSP内置对象之application

application: 作用时间范围是一次服务器的开启到服务器关闭. 可以在不同的浏览器获取,即更换浏览器不会影响application,依然能够获取数据. 类型是ServletContext. application是内置对象,所以和session的获取方式是一样的,不需要new就可以直接使用. 示例: 在jsp中设置application对象内容:  在servlet中获取application对象: 原文地址:https://www.cnblogs.com/ztt0918/p/86627

Jsp内置对象-session

session内置对象介绍 个人理解:session因为是唯一的, session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的请求信息. session也是在JSP开发中频繁使用到的对象之一,它一般在服务器上设置了一个30分钟的过期时间,当客户端停止操作30之后,session中存储的信息便会自动失效.          特别需要注意的是:session中保存和查找的信息不能是基本类型,如int.double等,而必须是J

JSP内置对象Session

1 创建和获取客户的会话 setAttribute()与getAttribute() session.setAttribute(String name , Object obj) 如session.setAttribute("username" , "陈帝求") 将一个字符串"陈帝求"放置到session对象中,并且变量名叫username session.getAttribute(String name) 该函数返回的是一个Object,是一个

Webform 内置对象 Session对象、Application全局对象,ViewState

Session 每台电脑访问服务器,都有独立的session,key值都一样,内容不一样. 1.session保存在服务器上. 2.session没有持久性,保存周期就是20分钟. 重点: session不要滥用,不要不用,滥用会造成服务器溢出,不用会造成资源浪费. 赋值:Session["key"] = 值:取值:string a = Session["key"];清除: Session["key"]=null; Application App

02_07 JSP内置对象之application

Application对象是javax.servlet.ServletContext接口的实例化对象,常用的方法有: NO 方法 描述 1 Public  String getRealPath(String path) 得到虚拟目录的绝对路径 2 Public  String getContextPath() 得到当前的虚拟路径名称 3 Public  Enumeration getAttributeNames() 得到所有属性的名称 一.取得虚拟目录对应的绝对路径(getRealPath(pa

05-21内置对象Session,Cookie

一.Session Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.Session 对象最常见的一个用法就是存储用户的首选项. 作用:只要有内容,那么在本网站中,所有的C#端都可以访问这个变量 优点: