Asp.net的狀態管理方式 :
(1)Application 在首個請求到達創建,在應用程序關閉的釋放,當前的應用程序的所有會話都可以使用.
(2)Session 它首先是存在服務器端的,它是在用戶發出首個請求時創建的用戶結束會話: 1〉 SessionStateModule 負責產生的session ;2〉 HttpApplication 在請求的處理管道的在檢查的當前的請求的是否實現的可System.Web.SessionState.IRequireSessionState 接口,如果是實現就會爲當前的請求分配一個session;3〉Web.config中配置<sessionState cookieless=”true“>則會在URL將當前sessionid帶上;4〉Session保存的位置 :
<sessionState mode=“InProc | StateServer| SQLServer”>
<sessionState stateConnectionString="tcpip=127.0.0.1:42424" mode="StateServer"/>
創建數據庫腳本文件在
C:\Windows\Microsoft.NET\Framework\v4.0.30319
下的:
InstallPersistSqlState.sql和
InstallSqlState.sql
可以用下面命令安裝保存Session的數據庫
aspnet_regsql -U sa -P master –ssadd -sstype c -d aspnetdb
一定要開數據庫的TCPIP連接,否則不能創建成功
web.config可以配置成:
<sessionStatesqlConnectionString="server=.;database=aspnetdb;uid=sa;pwd=;"allowCustomSqlDatabase="true"mode="SQLServer"/>(3)<input type=”hidden”> :就是隱藏域
(4) Cookie :用戶每次向服務器發出請求時會自動附加在請求報文中,還可以設置保存時間,以便關閉瀏覽器後還可以繼續保持狀態通過服務器設置響應頭:Set-cookie:cookie1=cookie value;path=/告訴瀏覽器要保存cookie名爲cookie1的值,在網站根路勁下。
(5) ViewState:單個頁面中控件等的數據上下文,只有當前頁面有用,頁面上的_viewstate隱藏控件保存的實際上是base64字符串.
(6) url 傳參數 (表單get的請求)querystring[],(表單的post請求)form[]....
,