Asp.Net Application和Session内置对象讲解
2015-09-09 22:15
645 查看
利用Application 和Session 对象分别对页面的值进行加一
首先看下页面部分的代码
接下来看一下后台部分的代码
首先看下页面部分的代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestApplicationAndSession._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> Application和Session内置对象<br /> <br /> 共同点:2个都是服务器内存变量,当机器重启或注销(准确说是IIS重新启动),变量的生命周期结束。<br /> <br /> 说明:<br /> <br /> 所有用户都可以使用Application对象,它的值是所有用户共享的。比如聊天信息,网站计数器等都使用Application对象。<br /> <br /> Session对象是针对单用户的,每一个用户都有自己的Session对象,各不相关。<br /> <br /> 这里的用户概念(如果没有使用cookie):每打开一次浏览器,就是一个新用户。<br /> 但是在打开的浏览器中转向另一个页面不是新用户。<br /> Application和Session使用方法:见后台代码部分。<br /> <br /> 测试使用,设计用Application和Session分别完成加一功能:<br /> <br /> 显示Application加一的结果:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /> <br /> 显示Session加一的结果:<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br /> <br /> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="实现加一" /></div> </form> </body> </html>
接下来看一下后台部分的代码
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace TestApplicationAndSession { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { //Session["自己起的名称"]=任意类型变量; if (Session["s"] == null) { //Session在赋值时,可以将任何类型直接赋值 Session["s"] = 1; } else { //Session在取值时要强制类型转换 int j = (int)Session["s"]; j++; Session["s"] = j; } Label2.Text = Session["s"].ToString(); if (Application["a"] == null) { //因为Application是所有用户都可以访问 //在对Application写入时,一定要加锁 Application.Lock(); //Application在赋值时,可以将任何类型直接赋值 //Application["自己起的名称"] = 任意类型变量; Application["a"] = 1; //在对Application写入完成后,一定要解锁 Application.UnLock(); } else { //Application在取值时要强制类型转换 int j = (int)Application["a"]; j++; Application.Lock(); Application["a"] = j; Application.UnLock(); } Label1.Text = Application["a"].ToString(); } } }
相关文章推荐
- android.手机短信发送器
- iOS APP可执行文件的组成
- Android进程线程---Anynctask(本质还是Handler)
- Android多线程编程、异步机制(AsyncTask)
- Android第七讲——Android中的线程与进程
- Android下的数据存储与访问
- Unity调用原生(iOS, Android)方法
- iOS字体
- cocos spine 骨骼动画.水平翻转
- android button点击事件的4种写法
- iOS-矩阵操作
- Android实例-操作sqlite数据库之Grid显示图片(XE8+小米2)
- Android—软键盘弹出时关于布局的问题
- Android(java)学习笔记219:开发一个多界面的应用程序之两种意图
- Service和IntentService
- android获取设备屏幕大小的方法
- Android NDK 开发入门例子
- Android Fragment 真正解析(下)
- android static达到Service与Activity于Handler沟通
- UIWebView及加载loading界面