成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解四個ASP.NET狀態

開發 后端
本文介紹四個ASP.NET狀態,包括Application 對象是應用程序的全局性對象,Session對象用來保存單個用戶的狀態和Coolkie 狀態一是用來保存一個用戶資源的狀態。

視圖狀態:
視圖狀態就在大家身邊不知道大家是否注意。ASP.NET狀態是基于服務其處理事件的。當服務器處理完事件時,再返回本窗體時,如果沒有視圖狀態,原來的數據將不會在有。這樣說也許會暈。舉個列子,比如有一個網站需要你注冊成為會員。當你填完信息,(一般來說頁面會轉向別的地方)這里為了說明問題,我們讓他返回原來的頁面繼續操作,如果沒有視圖狀態,則你以前填的數據都沒有了。如果有視圖狀態,則原來的數據還在。試圖狀態在一些時候很有用。比如說分級驗證時。

那么.NET是用什么方法保持試圖狀態呢?這里微軟采用了一種特殊的方法。在瀏覽器打開網頁的源代碼,你會發現一段你在編輯網頁時,沒有添加的一個HTML控件。

這是.NET自動給你添加的。它也是視圖狀態能夠實現的功臣。因為這個空間是隱藏的,所以不會破壞頁面的布局。空件中的value中的值就是就是各個空件以及控件中的數據(狀態)。這些數據是經過哈希函數加密過的。這是為了安全考慮。當網頁提交時,瀏覽器首先將當前網頁中的各種狀態(包括控件以及控件中的數據)保存到這個HTML字段中。當網頁再次返回瀏覽器時,在自動把這些狀態返回給網頁,這樣網頁也就恢復了狀態。

再來講講視圖狀態需要注意的問題。

視圖狀態只能在本網頁與服務器之間保持,不能在不同網頁之間連接時保持。默認情況下,幾乎所有的ASP.NET狀態都有保持視圖狀態的功能。

視圖狀態有很多優點,但同樣(世上每件事都具有兩面性,一個好的技術也不列外)有些缺點。首先是安全,雖然數據是經過加密,但對于黑客中的骨灰級人物,還是很不安全的。再次,你可以想如果你的頁面包括幾百條記錄,頁面很復雜,這是必會影響網頁的加載速度。

應用程序狀態(Application):
Application 對象是應用程序的全局性對象。用于存放應用程序的全局共享資源。他的本質是HttpApplicationState類的一個實例。當用戶第一次反問某虛目錄中的資源時,就被創建。也就是說網站第一次在互聯網上發布,這時有一個用戶剛好訪問你的虛擬目錄資源,那么Application對象就已經建立。在資源與應用程序之間建立了一個緩沖區。

應用程序狀態只有在網站運行時存在。當應用程序推出或服務器關閉時(更慘一點服務器崩潰了),應用程序狀態中保存的數據機會丟失和損壞。所以對于需要永久保留的資源還是在數據庫中持久化保存的好。

介紹一些Application對象的一些操作方法。

Application對象當然是采用最經典的“鍵-值”對的字典方法來定義。其中鍵為字符串代表Application對象的名稱。值可以是任何類型的數據。(例如HTML,CSS,SQL都可以)。

會話狀態(Session):
Session對象用來保存單個用戶的狀態。在網站中,每個新訪問的用戶都將產生自己的會話(Session)對象。這個Session對象是在服務器端進行管理,只能為它所綁定的用戶服務。如果另一位用戶也訪問網站,他也經擁有自己的Sesiion對象。兩個用戶的Session對象即使同名,也不能共享同一個Session對象。各是各的。

實際上Session對象是HttpSessionState類的實例。有很多屬性和方法,大家不妨去看看。這里不闡述了。

應用程序狀態在網站中總是可用的,這.NET Framework的內部機制,我們不去管。我們來看看Session對象。由于在Machine.config配置文件中的Session設置是啟動的,因此不需要額外的步驟就能使用它。盡管如此我們還是要知道一些原理和本質。Machine.config和應用程序的Web.config中的設置決定了是啟動還是關閉Session對象。當然如果想要延遲到需要時,在啟用也可以。我們可以在頁面一級設置。

這條語句的作用是在這個頁面中不能使用會話狀態(Session)。

Session對象有一個Timeout屬性可以設置Session對象的生命周期。它以分鐘為單位,默認是20分鐘。如果再有效時間內沒有連接服務器,那么Session的所有設置都將失效。如果需要終止Session對象,可以用它的Abandon()方法。

差點忘了,Session有一點很重要,補充一下。

session中的關鍵字是不區分大小寫的。因此不要用大小寫來區分Session變量。也就是說Session["source"]與Session["SOURCE"]是一樣的。如果刪掉其中一個,會有意想不到的結果。

Cookie狀態:
Coolkie 狀態一是用來保存一個用戶資源的狀態。和Session不同的是它存儲在瀏覽器端。在Cookie中只能含有較少的信息,通常不超過4096個字節(有些較新的瀏覽器可以達到8192個i字節).在ASP.NET狀態中,Session 對象和Cookie對象現結合來識別用戶。每當用戶開始連接站點時,系統將自動在內存塊中創建一個和用戶有關的Session對象,同時創建一個 Cookie對象來保存用戶ID并把它保存在瀏覽器端,與當前的用戶唯一的聯系起來。這樣當用戶下一次在訪問時,用戶被要求提交用戶的TD也就是 CooKie,Cookie和Session相對照以正確的還原原來的會話狀態。這就是無狀態協議Http條件下保持用戶狀態的方法。

【編輯推薦】

  1. 介紹ASP.NET MVC框架
  2. 淺談ASP.NET MVC的MvcContrib.FluentHtml
  3. ASP.NET框架的功能與ASP.NET MVC模式的應用介紹
  4. 淺析Asp.net MVC生命周期
  5. 配置ASP.NET AJAX概述
責任編輯:佚名 來源: 清華大學出版社
相關推薦

2009-04-27 10:33:16

ASP.NET視圖狀態

2009-08-05 17:39:13

ASP.NET常用狀態

2009-07-24 15:35:00

ASP.NET連接Or

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 10:14:22

ASP.NET開發

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-23 13:19:51

2009-07-28 11:09:02

ASP.NET狀態類型

2009-07-28 16:03:23

ASP.NET狀態服務

2009-08-04 13:10:05

ASP.NET服務器控

2009-07-23 13:09:23

2009-08-19 13:44:00

ASP.NET Lis

2009-07-28 13:39:44

加載ViewStateASP.NET

2009-08-04 10:43:59

ASP.NET控件開發

2009-08-04 18:10:35

ASP.NET動態編譯

2009-07-20 17:21:43

Session狀態ASP.NET

2009-07-24 10:41:00

ASP.NET Ses

2010-01-26 13:15:42

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品欧美一区二区蜜桃免费 | 亚洲一区久久 | 久久国产婷婷国产香蕉 | 国产高清自拍视频在线观看 | 午夜小电影 | av香港经典三级级 在线 | 中文在线日韩 | 久久福利网站 | 91中文视频| 国产精品久久久久久久久久妇女 | 超碰av在线 | 亚洲成人一级片 | 久久99精品国产自在现线小黄鸭 | 日韩精品成人av | 久久噜噜噜精品国产亚洲综合 | 一区二区三区四区在线 | 黑人一级黄色大片 | 中文字幕亚洲精品 | 网址黄 | 亚洲成av人影片在线观看 | 亚洲一区二区免费视频 | 日本天天操 | 色必久久| 欧美精品一区二区三区蜜桃视频 | 日韩欧美亚洲一区 | 亚洲国产中文在线 | 中文av在线播放 | 欧美福利视频一区 | 浮生影院免费观看中文版 | 欧美三级在线 | 中文字幕日韩欧美 | 欧美一区二区二区 | 成人免费共享视频 | 九九亚洲 | 涩涩视频网站在线观看 | 亚洲一区二区三区在线 | www.99热这里只有精品 | 日韩高清国产一区在线 | 国产精品久久久久久中文字 | 国产精品自产拍在线观看蜜 | 午夜影院普通用户体验区 |