搜尋
首頁後端開發C#.Net教程ASP.NET C#中Application的用法教程
ASP.NET C#中Application的用法教程May 14, 2017 pm 05:07 PM
.netapplicationasp.netc

這篇文章主要給大家介紹了關於ASP.NET C#中Application的用法,在介紹Application的用法之前,先給大家介紹了Session的用法供大家參考學習,文中介紹的非常詳細,需要的朋友們下面跟著小編一起來學習學習吧。

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的用法教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
C语言中的常量是什么,可以举一个例子吗?C语言中的常量是什么,可以举一个例子吗?Aug 28, 2023 pm 10:45 PM

常量也称为变量,一旦定义,其值在程序执行期间就不会改变。因此,我们可以将变量声明为引用固定值的常量。它也被称为文字。必须使用Const关键字来定义常量。语法C编程语言中使用的常量语法如下-consttypeVariableName;(or)consttype*VariableName;不同类型的常量在C编程语言中使用的不同类型的常量如下所示:整数常量-例如:1,0,34,4567浮点数常量-例如:0.0,156.89,23.456八进制和十六进制常量-例如:十六进制:0x2a,0xaa..八进制

VSCode和VS C++IntelliSense无法工作或拾取库VSCode和VS C++IntelliSense无法工作或拾取库Feb 29, 2024 pm 01:28 PM

VS代码和VisualStudioC++IntelliSense可能无法拾取库,尤其是在处理大型项目时。当我们将鼠标悬停在#Include<;wx/wx.h>;上时,我们看到了错误消息“CannotOpen源文件‘string.h’”(依赖于“wx/wx.h”),有时,自动完成功能无法响应。在这篇文章中,我们将看到如果VSCode和VSC++IntelliSense不能工作或不能提取库,你可以做些什么。为什么我的智能感知不能在C++中工作?处理大文件时,IntelliSense有时

递归程序在C++中找到数组的最小和最大元素递归程序在C++中找到数组的最小和最大元素Aug 31, 2023 pm 07:37 PM

我们以整数数组Arr[]作为输入。目标是使用递归方法在数组中找到最大和最小的元素。由于我们使用递归,我们将遍历整个数组,直到达到长度=1,然后返回A[0],这形成了基本情况。否则,将当前元素与当前最小或最大值进行比较,并通过递归更新其值以供后续元素使用。让我们看看这个的各种输入输出场景&minus;输入&nbsp;&minus;Arr={12,67,99,76,32};输出&nbsp;&minus;数组中的最大值:99解释&nbsp;&mi

修复Xbox错误代码8C230002修复Xbox错误代码8C230002Feb 27, 2024 pm 03:55 PM

您是否由于错误代码8C230002而无法在Xbox上购买或观看内容?一些用户在尝试购买或在其控制台上观看内容时不断收到此错误。抱歉,Xbox服务出现问题。稍后再试.有关此问题的帮助,请访问www.xbox.com/errorhelp。状态代码:8C230002这种错误代码通常是由于暂时的服务器或网络问题引起的。但是,还有可能是由于帐户的隐私设置或家长控制等其他原因,这些可能会阻止您购买或观看特定内容。修复Xbox错误代码8C230002如果您尝试在Xbox控制台上观看或购买内容时收到错误代码8C

中国东方航空宣布C919客机即将投入实际运营中国东方航空宣布C919客机即将投入实际运营May 28, 2023 pm 11:43 PM

5月25日消息,中国东方航空在业绩说明会上披露了关于C919客机的最新进展。据公司表示,与中国商飞签署的C919采购协议已于2021年3月正式生效,其中首架C919飞机已在2022年底交付。预计不久之后,该飞机将正式投入实际运营。东方航空将以上海为主要基地进行C919的商业运营,并计划在2022年和2023年引进总共5架C919客机。公司表示,未来的引进计划将根据实际运营情况和航线网络规划来确定。据小编了解,C919是中国具有完全自主知识产权的全球新一代单通道干线客机,符合国际通行的适航标准。该

python WSGI Application原理是什么python WSGI Application原理是什么May 19, 2023 pm 01:25 PM

本篇文章所依赖的python环境为:什么是WSGIWSGI也称之为web服务器通用网关接口,全称是webservergatewayinterface。它定义了在python中web服务器与web应用程序之间应该如何通信并且处理http请求和响应的一个标准,注意,它只是一个协议,或者说是规范、标准,你也可以不按这个标准来,就像我们上一篇文章所写的web服务器那样。WSGI也分为应用程序和服务器网关,其中我们熟知的Flask就是属于应用程序,uWSGI、wsgiref属于服务器网关。个人感觉,WSG

分享几个.NET开源的AI和LLM相关项目框架分享几个.NET开源的AI和LLM相关项目框架May 06, 2024 pm 04:43 PM

当今人工智能(AI)技术的发展如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。今天大姚给大家分享4个.NET开源的AI模型LLM相关的项目框架,希望能为大家提供一些参考。https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一种开源的软件开发工具包(SDK),旨在将大型语言模型(LLM)如OpenAI、Azure

C#的就业前景如何C#的就业前景如何Oct 19, 2023 am 11:02 AM

无论您是初学者还是有经验的专业人士,掌握C#将为您的职业发展铺平道路。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境