Application对象
Application对象生存期和Web应用程序生存期一样长,生存期从Web应用程序网页被接见最先,HttpApplication类对象Application被自动竖立,直到没有一个网页被接见时完毕,Application对象被自动打消。因而Application对象中的变量也有雷同生存期,而且变量能够被Web应用程序中的一切网页接见。因而,能够在Application对象中竖立一些全局的公用变量,由于存储在Application对象中的数值能够被应用程序的一切网页读取,所以Application对象的属性也适合在应用程序的网页之间传递信息。
Application对象主要有以下用处:
l 存储纪录在线人数或接见网站总人数的变量。
l 存储网站共用最新消息,供一切网页更新。
l 纪录网站中个网页统一条广告被点击的次数或时候。
l 存储供一切网页运用的数据库数据。
l 差别用之间通信,比方多用户聊天室,多用户游戏等
关于 ASP.NET 的 Application 的用法,与 Session 异常差别。下面来看看细致的引见:
Session的用法
一、Session.Add 称号雷同时,不会反复,而是掩盖。
Session.Add("s1", 1); Session.Add("s1", 2); // s1 终究只要一个值,就是 2。
二、称号疏忽大小写。
Session.Add("s1", 1); Response.Write(Session["S1"]); // 值为 1
三、Session Add 后马上便可取到值(Remove 同理),这点差别于 Cookie,Cookie 要比及下个页面才有。
Session.Add("s1", 1); Response.Write(Session["s1"] == null); // False,它不为 null
四、存储的 Session 数据类型为 object,最好用 Convert 转换。
Convert.ToInt32(Session["s1"]);
假如转换为 string 最好用 Convert.ToString(),而不是 Session["s1"].ToString(),由于假如 Session 为 null,用后法就会报错。
五、在类中运用 Session。
System.Web.HttpContext.Current.Session
Application 的用法
称号反复题目
HttpContext.Current.Application.Add("key1", "value1"); HttpContext.Current.Application.Add("key2", "value2"); HttpContext.Current.Application.Add("KEY2", "value3"); // name 疏忽大小写 int count = HttpContext.Current.Application.Count; // 3 个 string[] keys = return HttpContext.Current.Application.AllKeys; // key1、key2、key2 string s = (string)HttpContext.Current.Application.Get("key2"); // value2 string s2 = (string)HttpContext.Current.Application.Get(2); // value3
如上代码,效果我们在备注中列出了。能够看出 Application 碰到键值雷同,它既不报错,也不掩盖之前的,而是同时存在。用键值称号去取值时,取到的是同名中第一个对应的值。假如非要取背面的,就用 index。
假如我们要遇雷同 name,就掩盖,可用下面的代码
HttpContext.Current.Application.Add("key1", "value1"); // HttpContext.Current.Application.Add("key2", "value2"); string name = "key2"; object obj = HttpContext.Current.Application.Get(name); if (obj == null) { // 不存在,直接增加 HttpContext.Current.Application.Add(name, "value2"); } else { // 存在,不能直接挪用 Add 要领,如许会形成两个雷同 name 的条目 // obj = "value3"; // 这类要领行不通 HttpContext.Current.Application[name] = "value3"; } return (string)HttpContext.Current.Application[name]; // 用 [] 取值时,等同于 Get 要领
上面代码中,直接修正 obj 是行不通的,然则碰到对象的话,以下代码是行得通的。申明:这是 C# 值援用、地点援用的知识点,与 Application 无关。
((Site)obj).Url = "222"; // 行得通
以上就是ASP.NET C#中Application的用法教程的细致内容,更多请关注ki4网别的相干文章!