<ASP.NET4 從入門到精通>學習筆記3

來源:互聯網
上載者:User

標籤:使用   資料   io   工作   管理   時間   

 

第三部分,狀態管理與緩衝

 

         何為狀態管理,起始對於web而言,經過前面章節的講解,已經理解,對於web程式,就是一個無狀態的程式,每次的請求與每次的響應,兩者之間本身就是獨立存在的,這一點對於早期的靜態網頁來說,倒沒什麼,因為每次的請求和響應其實都是固定不變的。但是到了動態網頁時代,就不行了,web開發的很大一部分工作將變為狀態管理。這一點,可能舉一個例子,最具有代表性,比如說購物車,那麼對於購物車而言,就需要知道他的訪問者是誰?雖然他們可以在不同的頁面切換,但是購物車不能夠變化,此時就是一種狀態管理。

(更多狀態管理的情境,各位可以補充)

 

第14章工作階段狀態

 

         Session就是一種工作階段狀態,統一瀏覽器在一段時間內訪問伺服器之後,會產生一個24位的唯一SessionID,這個ID就標識了用戶端的身份,雖然客戶可以在不同的網頁間切換,但是SessionID都是不變的。

 

   Session的用法,Session是Page類的內部屬性,然後直接採用KEY/VALUE模式直接使用。

         Session的情境,分為兩種:服務端和用戶端

 

服務端:意思就是說Session所定義的需要緩衝的變數的儲存位置,可以儲存在進程中,專有伺服器,資料庫

用戶端:意思就是說SessionID的儲存位置,可以使cookies,也可以是url當中(用於解決非cookie支援的瀏覽器)

 

Web.confg 中的<sessionState></sessionState>節用於完成該部分的設定。

 

 

Session可以儲存的資料類型,除了簡單地資料類型以外,所有的可以序列化的類型都是客戶儲存的。

 

說明: page類的內建對象,有application,session,cache,request,response等,通常很多人都是用application,session,cache來用作資料緩衝,其實他們是有區別的。

 

Application,是作為全域變數在使用,他在進程中,生命週期為應用程式生命週期。它越多佔用記憶體越多。

 

Session,其實它不僅僅是存取一個變數,他儲存的是一個會話內的變數,而且他會有sessionID來區分用戶端,session儲存變數只是他的一個間接實現功能。並且他可以存在進程,資料庫,或者專用伺服器中。

 

Cache,他是儲存在進程中,生命週期是可以設定的,他有比較靈活的屬性,包括到期時間,到期通知等等,他目的是完成複雜物件的緩衝處理。

 

 

第15章應用程式資料的緩衝

 

Cache對象介紹,使用方法類似Session,目的是改善複雜變數的擷取方式。提升web訪問的效能。

 

 

第16張輸出緩衝

 

剛開始看的時候,還真是沒有特別理解什麼叫做輸出緩衝,後來看了一下原來就是所謂的頁面緩衝,不同的書籍,叫法可能不同而已。為什麼會存在頁面緩衝哪?本質目標是改善web訪問的效能,對於重複網頁不要重複計算,降低伺服器的壓力,提升web應用的效能,因此從資料的角度緩衝,產生了cache,從頁面的角度產生了輸出緩衝,就是頁面產生後,放在一個地方,然後每次請求直接返回該頁面。

 

用法:就是在每個頁面頭部使用<%@outputcache >指令,屬性包括周期,依賴項等等。

 

說明:個人覺得,只從有了ajax後,輸出緩衝的意義降低了,因為可以局部重新整理,輸出整個頁的概念不大了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.