程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.Net的狀態管理:ViewState和Cookie

Asp.Net的狀態管理:ViewState和Cookie

編輯:關於ASP.NET

簡介

HTTP協議是無狀態的。從客戶端到服務器的連接可以在每個請求之後關閉。但是一般需要把一些客戶端信息從一個頁面傳送給另一個頁面。

無狀態的根本原因是:浏覽器和服務器使用Socket通信,服務器將請求結果返回給浏覽器後,會關閉當前Socket連接。而且服務器會在處理頁面完畢後銷毀頁面對象。

應用層面的原因是:浏覽器和服務器之間通信都遵守HTTP協議。

Http協議是無狀態的,不會記得上次和網頁“發生了什麼。服務器不記得上次給了浏覽器什麼。

對網站造成的影響:如果用戶錄入了一些信息,當跳轉到下一個頁面時,數據丟失,再也不能獲得那些數據。

如果要知道上一次的狀態信息,我們就得把這個狀態信息記錄在某個地方:

a.服務器端

b.浏覽器端(客戶端)

c. 表單元素中—如:隱藏域<input type=“hidden” />(Http報文)

在保存狀態的各種方式中,主要區別是:狀態是存儲在客戶端還是服務器上,下表列出了各種狀態管理技術以及狀態保持有效的時間。

先將狀態管理的五種方式基本概念放在一起,方便比較記憶。

網絡上有一種劃分更細的方案,如下圖所示:

客戶端的狀態保持方案:ViewState、隱藏域、Cookies、控件狀態、URL查詢參數

服務端的狀態保持方案:Session(會話)、Application、Caching(緩存)、DataBase(數據庫)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved