Asp.net的狀態管理(1)--(C#)

  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 | StateServerSQLServer”>

<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-cookiecookie1=cookie  value;path=/告訴瀏覽器要保存cookie名爲cookie1的值,在網站根路勁下。

     (5) ViewState:單個頁面中控件等的數據上下文,只有當前頁面有用,頁面上的_viewstate隱藏控件保存的實際上是base64字符串.

     (6) url 傳參數 (表單get的請求)querystring[],(表單的post請求)form[]....

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章