Application:

  1. WebForm1.aspx
  2. protected void Button1_Click(object sender, EventArgs e)
  3. {
  4. ;
  5. Response.Redirect("WebForm2.aspx"); // 页面跳转。等价于 HttpContext.Current.Response.Redirect("WebForm2.aspx");
  6. }
  7. ///////////////////////////////////////////
  8. WebForm2.aspx
  9. protected void Page_Load(object sender, EventArgs e)
  10. {
  11. if (!this.IsPostBack)
  12. {
  13. if (Application["t"] != null)
  14. {
  15. this.Literal1.Text = this.Application["t"].ToString();
  16. int count = (int)this.Application["t"];
  17. count++;
  18. // 加解锁:作用防止大量用户同时访问造成的数据不准确。
  19. this.Application.Lock(); // application加锁
  20. this.Application["t"] = count;
  21. this.Application.UnLock(); // 释放锁
  22.  
  23. }
  24. }
  25. }

1.容易丢失。例如:代码做了修改重新编译启动。

2.可以多用户同时使用该数据。

Session:

  1. WebForm1.aspx
  2. protected void Button1_Click(object sender, EventArgs e)
  3. {
  4. // 设置session
  5. this.Session["user"] = "namejr";
  6. Response.Redirect("WebForm2.aspx");
  7. }
  8.  
  9. protected void Button2_Click(object sender, EventArgs e)
  10. {
  11. Response.Redirect("WebForm2.aspx");
  12. }
  13. ///////////////////////////////////////////
  14. WebForm2.aspx
  15. protected void Page_Load(object sender, EventArgs e)
  16. {
  17. if (!this.IsPostBack)
  18. {
  19. if (this.Session["user"] != null)
  20. {
  21. this.Literal1.Text = this.Session["user"].ToString();
  22. }
  23. else
  24. {
  25. this.Literal1.Text = "未登录";
  26. }
  27. }
  28. }

session的信息是存储在服务器的,但是为了服务器区别出是哪一个用户,会在用户本地产生一个cookie,为了防止用户禁用cookie,可以再web.config做如下设置

  1. <system.web>
  2. <!-- 开启debug -->
  3. <compilation debug="true" targetFramework="4.5" />
  4. <httpRuntime targetFramework="4.5" />
  5. <!-- 防止用户禁用本地cookie -->
  6. <sessionState cookieless="UseUri"></sessionState>
  7. </system.web>

Cookie:

  1. string a = this.Request.Cookies["a"].Value; // 获取cookie的值
  2. ) }); // 添加cookie。等同于HttpContext.Current.Response.AppendCookie(new HttpCookie() { Name = "c", Value = "C", Expires = DateTime.Now.AddDays(1) });

ViewState:

使用ViewState的数据保留在每个单独的页面,不能够跨页面进行实现

  1. ;

Server.Transfer 和 Response.Redirect:

  1.      // Response.Redirect
  2. protected void Button1_Click(object sender, EventArgs e)
  3. {
  4. // 使用Response.Redirect相当于在客户端进行页面的跳转,具体看导航栏便可知道
  5. Response.Redirect("WebForm2.aspx");
  6. }
  7. // Server.Transfer
  8. protected void Button2_Click(object sender, EventArgs e)
  9. {
  10. // Server.Transfer相当于在服务器完成页面的指向,导航栏现实的仍然是WebForm1.aspx
  11. Server.Transfer("WebForm2.aspx");
  12. }

Application、QueryString、session、cookie、ViewState、Server.Transfer等的更多相关文章

  1. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  2. Application,Session,Cookie,ViewState和Cache区别

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...

  3. Web缓存Cache、Application、Session与ViewState

    在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 方法 信息 ...

  4. ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别(转)

    在ASP.NET中,有很多种保存信息的对象.例如:Application,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了更清楚 ...

  5. [区别]APPlication,Session,Cookie,ViewState和Cache

    原文发布时间为:2009-08-01 -- 来源于本人的百度文章 [由搬家工具导入] 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewS ...

  6. (转)Application, Session, Cookie, Viewstate, Cache对象用法和区别

    ================================================================================         1.Applicati ...

  7. .NET Application,Session,Cookie,ViewState,Cache对象用法

    作用域 保存地址 生命周期Application 应用程序 服务器内存 IIS启动Session 整个站点 服务器内存 Session到时 默认20分钟Cashe 应用程序 服务器内存 应用程序的周期 ...

  8. APPlication,Session,Cookie,ViewState和Cache之间的区别

    1.Application:用于保存所有用户共用的数据信息. 在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都 ...

  9. Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别

    1.Application:用于保存所有用户共用的数据信息.在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都要 ...

  10. asp.net Server.Transfer

    页面跳转传参. 如果不是通用的跳转可以通过,在原始页面定义对象保存数据 跳转的目标页面可以: SourcePage page=(SourcePage)Context.Handler; //获取源页面的 ...

随机推荐

  1. 第八周学习笔记-ADO.Net中DataTable的应用

    ADO.Net中DataTable的应用  一.知识点描述 1.概述:DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表),是ADO.Net库中的核心对象. 2.DataTabl ...

  2. git bash + gitee

    使用Git Bash从Gitee上下载代码到本地以及上传代码到码云Git: https://www.cnblogs.com/babysbreath/p/7274195.html 指定克隆远端分支 ht ...

  3. python爬虫基础_requests和bs4

    这些都是笔记,还缺少详细整理,后续会更新. 下面这种方式,属于入门阶段,手动成分比较多. 首先安装必要组件: pip3 install requests pip3 install beautifuls ...

  4. 使用VB6读取数据库资源并发送邮件(原创)

    Private Sub Form_Load() Call conndb End Sub Private Function conndb() Dim cn As New ADODB.Connection ...

  5. JDK8.0接口中的默认方法和静态方法

    我们在接口中通常定义的方法是抽象方法,即没有方法体,只有返回值类型和方法名:(public abstract) void Method(); 类在实现接口的时候必须重写抽象方法才可以 jdk8中新加的 ...

  6. Python 进程池的回调函数

    import os from multiprocessing import Pool,Process def f1(n): print('进程池里面的进程id',os.getpid()) print( ...

  7. JavaScript·aJax

    1.ajax 无刷新数据获取,ajax能且仅能从服务器读取文件 ajax_string ajax_数组 ajax_json ajax_分页 2.ajax原理 ajax请求: 1.创建ajax对象2.连 ...

  8. 同一个服务器部署两个Tomcat并用Nginx实现反向代理

    需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个  locatio ...

  9. React事件绑定与解绑

    React中事件分类 React中事件绑定分为两种: 1.直接添加在React元素上的事件,这是React在基于Virtual DOM的基础上实现的符合w3c规范的合成事件(SyntheticEven ...

  10. zuul源码(2)

    路由 路由是网关的核心功能,既然在spring的框架下,那就要按Spring的规矩来. 路由规则类:org.springframework.cloud.netflix.zuul.filters.Rou ...