.NET 變數宣告方法和注意事項
性質: 全域共享 (跨使用者)
存取: 存放於IIS伺服器記憶體
生命週期: 永遠,直到網頁伺服器重啟或關閉
使用方法:
宣告 |
寫入文件: Global.asax |
Application("變數名稱") = "值" |
使用 |
寫入文件: 字定文件.aspx.vb |
Application.lock Application("變數名稱") = "值" Application.unlock |
說明: 由於此變數為全域共用且生命週期是永久的,在變更Application的值之前,必須考慮使用者(用戶端)不會同時間進行變更,已造成變數在更改數值時出現錯誤。因此在變更Application值之前,必須要先加入鎖定動作,讓同時間只有一個變更的動作執行。確定值變更後,在將其變數解鎖,釋放出來給其他人使用。 可用來製作如計數器、或任何需要資料庫存取功能的變數取得操作功能。 |
性質: 全域共享 (單一使用者)
存取: 存放於用戶端瀏覽器的Cookie
生命週期: 可自訂到期時間來釋放該SessionID的值,如果沒有設定當瀏覽器關閉後,Session的變數則同時消失
使用方法:
宣告 |
寫入文件: 自訂文件.aspx.vb (寫入cookie) |
Response.Cookies("TestCookie1").Expires = "5/1/2010" Response.Cookies("TestCookie1").Value = "The cookie stuff." |
使用 |
寫入文件: 字定文件.aspx.vb (讀取cookie) |
Dim I as integer For I = 0 to Request.Cookies.Count - 1 lblMessage1.Text = lblMessage1.Text _ & Request.Cookies.Item(I).Name & ": " _ & Request.Cookies.Item(I).Value & "<BR>" Next |
說明: |
性質: 全域共享 (單一使用者)
存取: 存放於用戶端瀏覽器的Cookie
生命週期: 可自訂到期時間來釋放該SessionID的值,如果沒有設定當瀏覽器關閉後,Session的變數則同時消失
使用方法:
宣告 |
寫入文件: 自訂文件.aspx.vb |
Session("變數名稱") = "值" |
使用 |
寫入文件: 字定文件.aspx.vb |
Session("變數名稱") = "值" |
說明: 由於此變數具有時效性且暫存於瀏覽器內部記憶體,只能針對單一用戶及單一瀏覽器視窗,故無法運用於長時間性的存取動作。 可用於使用者登入時做為資料調動的橋梁 |
source:
一、Application
Application的生命周期与应用程序相同,一定定义了全局变量,如Application[“Count“],那么,当应用程序运行的时候,即网站在运行的时候,该变量就伴随着网站的运行而存在,在网站运行的整个过程,可以在任何地方随时对其进行任何读取与赋值的操作。
除非服务器关闭或停止网站运行,否则,该变量及其值一定存在。
Application是一个可大可小的比较重要的保存数据的变量。
二、Session
Session的生命周期与网站的每个浏览者相同。
无论来自哪个地方或什么时候打开你的网站,只要是通过当前打开的浏览器第一次进入到您的网站,那么,服务器端会自动为该浏览者创建一个Session变量,该变量仅针对这个人有效,而对于其它人是无效的,因为,每个浏览者,都分别有一个Session变量。
每个浏览者的Session会话生命周期,默认情况下,一般为30分钟;当然,站长可以修改生命周期,让其更长或更短,完全由应用程序或站长决定。
当浏览者的Session超过生命周期,再次对网站服务器进行请求,则,原来的Session将不复存在,服务器将会对其新建一个Session。
Session是一个轻量级的保存简单数据的变量。
三、Cache
Cache的生命周期则由程序决定,即由管理网站的站长来设定,Cache 相对于Application 及Session来说显示更有弹性。
它允许网站的内容在客户端和服务器端,使用缓存,以达到快速打开网页内容的效果。
但是有一个缺点,如果网站启用了缓存,那么,打开的页面,不一定能够看到最新的信息。
四、Cookie
允许网站将用户的登陆信息等,保存在客户端;当浏览者再次进入网站时,不用进行登陆,程序会自动读取保存在客户端的Cookie变量,如果存在登陆信息,将自动登陆,避免浏览者进行冗余的登陆。
Cookie是一轻量级的保存简单数据的变量。 其生命周期可长可短,短至几分钟,长达一年以上甚至永久。
字串重新格式
String.Format("{0:d2}",字串)
將變數前面補零,讓他程現為2位數
String.Format("字符串:{0:d5}", 12)
"字符串:00012" '占位5个,不足的用0代替
String.Format("字符串:{0,5}", 12)
"字符串: 12" '占位5个,不足的用空格代替,右对齐
String.Format("字符串:{0,-5}", 12)
"字符串:12 " '占位5个,不足的用空格代替,左对齐
?String.Format("字符串:{0:#,0.0000}", 12)
"字符串:12.0000"
?String.Format("字符串:{0:#0,0.00}", 12)
"字符串:12.00"
?String.Format("字符串:{0:#0,0.00}", 12000)
"字符串:12,000.00"
?String.Format("字符串:{0:D#0.0000}", 12)
"字符串:D12.0000"
?String.Format("字符串:{0:D2.5}", 12)
"字符串:D2125"
?String.Format("字符串:{0:D0.0}", 12)
"字符串:D12.0"
?String.Format("字符串:{0:D0.0000}", 12)
"字符串:D12.0000"
?String.Format("字符串:{0:#00,0.00}", 12000)
"字符串:12,000.00"
?String.Format("字符串:{0:#00,0.00}", 12)
"字符串:012.00"
?String.Format("字符串:{0:#00,0.00}", 1200)
"字符串:1,200.00"
?String.Format("字符串:{0:#000.00}", 1200)
"字符串:1200.00"
?String.Format("字符串:{0:#000.00}", 12)
"字符串:012.00"
?String.Format("字符串:{0:#000.00}", 1)
"字符串:001.00"