Rumah pembangunan bahagian belakang Tutorial C#.Net ASP.NET C#中Application的用法教程

ASP.NET C#中Application的用法教程

May 14, 2017 pm 05:07 PM
.net application asp.net c

这篇文章主要给大家介绍了关于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。
Salin selepas log masuk

二、名称忽略大小写。


Session.Add("s1", 1);
Response.Write(Session["S1"]); // 值为 1
Salin selepas log masuk

三、Session Add 后立刻就可取到值(Remove 同理),这点不同于 Cookie,Cookie 要等到下个页面才有。


Session.Add("s1", 1);
Response.Write(Session["s1"] == null); // False,它不为 null
Salin selepas log masuk

四、存储的 Session 数据类型为 object,最好用 Convert 转换。


Convert.ToInt32(Session["s1"]);
Salin selepas log masuk

如果转换为 string 最好用 Convert.ToString(),而不是 Session["s1"].ToString(),因为如果 Session 为 null,用后法就会报错。

五、在类中使用 Session。


System.Web.HttpContext.Current.Session
Salin selepas log masuk

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
Salin selepas log masuk

如上代码,结果我们在备注中列出了。可以看出 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 方法
Salin selepas log masuk

上面代码中,直接修改 obj 是行不通的,但是遇到对象的话,如下代码是行得通的。说明:这是 C# 值引用、地址引用的知识点,与 Application 无关。


((Site)obj).Url = "222"; // 行得通
Salin selepas log masuk

Atas ialah kandungan terperinci ASP.NET C#中Application的用法教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah pemalar dalam bahasa C Bolehkah anda berikan contoh? Apakah pemalar dalam bahasa C Bolehkah anda berikan contoh? Aug 28, 2023 pm 10:45 PM

Pemalar juga dipanggil pembolehubah dan apabila ditakrifkan, nilainya tidak berubah semasa pelaksanaan program. Oleh itu, kita boleh mengisytiharkan pembolehubah sebagai pemalar merujuk nilai tetap. Ia juga dipanggil teks. Pemalar mesti ditakrifkan menggunakan kata kunci Const. Sintaks Sintaks pemalar yang digunakan dalam bahasa pengaturcaraan C adalah seperti berikut - consttypeVariableName; ,34, 4567 Pemalar titik terapung - Contoh: 0.0, 156.89, 23.456 Pemalar perlapanan dan Perenambelasan - Contoh: Hex: 0x2a, 0xaa.. Octal

VSCode dan VS C++ IntelliSense tidak berfungsi atau mengambil perpustakaan VSCode dan VS C++ IntelliSense tidak berfungsi atau mengambil perpustakaan Feb 29, 2024 pm 01:28 PM

Kod VS dan Visual Studio C++ IntelliSense mungkin tidak dapat mengambil perpustakaan, terutamanya apabila bekerja pada projek besar. Apabila kami menuding pada #Include<wx/wx.h>, kami melihat mesej ralat "Tidak boleh Membuka fail sumber 'string.h'" (bergantung pada "wx/wx.h") dan kadangkala, Fungsi autolengkap tidak bertindak balas. Dalam artikel ini kita akan melihat perkara yang boleh anda lakukan jika VSCode dan VSC++ IntelliSense tidak berfungsi atau mengekstrak perpustakaan. Mengapa Intellisense saya tidak berfungsi dalam C++? Apabila bekerja dengan fail besar, kadangkala IntelliSense

Betulkan kod ralat Xbox 8C230002 Betulkan kod ralat Xbox 8C230002 Feb 27, 2024 pm 03:55 PM

Adakah anda tidak dapat membeli atau menonton kandungan pada Xbox anda kerana kod ralat 8C230002? Sesetengah pengguna terus mendapat ralat ini apabila cuba membeli atau menonton kandungan pada konsol mereka. Maaf, terdapat masalah dengan perkhidmatan Xbox. Cuba lagi nanti. Untuk bantuan dengan isu ini, lawati www.xbox.com/errorhelp. Kod Status: 8C230002 Kod ralat ini biasanya disebabkan oleh masalah pelayan atau rangkaian sementara. Walau bagaimanapun, mungkin terdapat sebab lain, seperti tetapan privasi akaun anda atau kawalan ibu bapa, yang mungkin menghalang anda daripada membeli atau melihat kandungan tertentu. Betulkan Kod Ralat Xbox 8C230002 Jika anda menerima kod ralat 8C semasa cuba menonton atau membeli kandungan pada konsol Xbox anda

Program rekursif untuk mencari elemen minimum dan maksimum tatasusunan dalam C++ Program rekursif untuk mencari elemen minimum dan maksimum tatasusunan dalam C++ Aug 31, 2023 pm 07:37 PM

Kami mengambil tatasusunan integer Arr[] sebagai input. Matlamatnya adalah untuk mencari elemen terbesar dan terkecil dalam tatasusunan menggunakan kaedah rekursif. Memandangkan kami menggunakan rekursi, kami akan mengulangi keseluruhan tatasusunan sehingga kami mencapai panjang = 1 dan kemudian mengembalikan A[0], yang membentuk huruf asas. Jika tidak, elemen semasa dibandingkan dengan nilai minimum atau maksimum semasa dan nilainya dikemas kini secara rekursif untuk elemen berikutnya. Mari kita lihat pelbagai senario input dan output untuk −Input −Arr={12,67,99,76,32}; Nilai maksimum dalam tatasusunan: 99 Penjelasan &mi

China Eastern Airlines mengumumkan bahawa pesawat penumpang C919 akan mula beroperasi tidak lama lagi China Eastern Airlines mengumumkan bahawa pesawat penumpang C919 akan mula beroperasi tidak lama lagi May 28, 2023 pm 11:43 PM

Menurut berita pada 25 Mei, China Eastern Airlines mendedahkan perkembangan terkini pesawat penumpang C919 pada mesyuarat taklimat prestasi. Menurut syarikat itu, perjanjian pembelian C919 yang ditandatangani dengan COMAC telah berkuat kuasa secara rasmi pada Mac 2021, dan pesawat C919 pertama telah dihantar menjelang akhir 2022. Dijangkakan pesawat itu akan mula beroperasi secara rasmi tidak lama lagi. China Eastern Airlines akan menggunakan Shanghai sebagai pangkalan utamanya untuk operasi komersial C919, dan merancang untuk memperkenalkan sejumlah lima pesawat penumpang C919 pada 2022 dan 2023. Syarikat itu menyatakan bahawa rancangan pengenalan masa depan akan ditentukan berdasarkan keadaan operasi sebenar dan perancangan rangkaian laluan. Menurut pemahaman editor, C919 ialah pesawat penumpang satu lorong utama generasi baharu China dengan hak harta intelek bebas sepenuhnya di dunia, dan ia mematuhi piawaian kelayakan udara yang diterima di peringkat antarabangsa. sepatutnya

Apakah prinsip Aplikasi WSGI python? Apakah prinsip Aplikasi WSGI python? May 19, 2023 pm 01:25 PM

Persekitaran ular sawa yang bergantung pada artikel ini ialah: Apakah WSGI itu juga dipanggil antara muka gerbang universal pelayan web, dan nama penuhnya ialah antara muka webservergateway? Ia mentakrifkan piawaian untuk cara pelayan web dan aplikasi web harus berkomunikasi dan mengendalikan permintaan dan respons http dalam Python Perhatikan bahawa ia hanyalah protokol, atau spesifikasi atau piawaian ini pelayan yang kami tulis dalam artikel sebelum ini. WSGI juga dibahagikan kepada aplikasi dan gateway pelayan Antaranya, Flask yang terkenal adalah milik aplikasi, dan uWSGI dan wsgiref tergolong dalam gateway pelayan. Perasaan peribadi, WSG

Apakah prospek pekerjaan C#? Apakah prospek pekerjaan C#? Oct 19, 2023 am 11:02 AM

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

See all articles