自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET Session使用淺析

開發(fā) 后端
ASP.NET SESSION使用是什么情況呢?想要了解ASP.NET SESSION使用情況還是通過實踐來認識,那么本文就向你講述ASP.NET SESSION使用的相關(guān)事項。

在開始ASP.NET Session使用講解之前,我們首先來看看有關(guān)ASP.NET Session的一些小的概念:

Session 的管理,我們傳統(tǒng)的asp 程序其實是一種 dead 的Session 聯(lián)結(jié),系統(tǒng)其實在我們的客戶端書寫了一個Cookie,當我們把我們?yōu)g覽器的 安全設(shè)置中的 Cookie 設(shè)置成 Prompt 的時候,當我們訪問一個有Session 的頁面的時候,就會出現(xiàn)一個是否允許Cookie 的提示,當設(shè)置成為 不允許 Cookie 的時候,我們的Session 總是不能成功.例如:

  1. ﹤%  
  2. Session("username")="豆腐" 
  3. Session("URL")="http://www.asp888.net" 
  4. %﹥ 

在ASP.NET 的環(huán)境中,ASP.NET Session使用的情況是被完全的重新進行了定義,由于豆腐現(xiàn)在的ASP.NET 的環(huán)境是PDC 版本的,所以,沒有對Beta1 版本進行Demo,我在這里如果涉及到 Beta1 的內(nèi)容,都是僅僅是材料上介紹的,沒有經(jīng)過豆腐的測試

其實,對于一些不愿意深究的同志們,豆腐 說:其實 ASP.NET Session使用方法和ASP Session使用的使用方法完全相同,甚至更為簡單,因為 根據(jù)豆腐 的觀察,我們根本不用繼續(xù) 去考慮 客戶端 的cookie 選項 的狀態(tài),因為不管客戶端的設(shè)置如何,Session都可以順利的傳遞

下面我們就對ASP.NET Session使用機制進行一些簡單的深入了解,限于技術(shù),我有的問題也不是很清楚,所以歡迎大家一同來探討 這個 文章

在PDC 版本中,我們打開 %systemroot%\complus\(version)\config.web 文件,我們找到 Sessionstate可以看到以前的內(nèi)容:

  1. ﹤Sessionstate  
  2. inproc="true" 
  3. usesqlserver="false" 
  4. cookieless="false" 
  5. timeout="20" 
  6. server="localhost" 
  7. port="42424" 
  8. /﹥ 

當 inproc 為True 的時候,ASP.NET 將采取一種稱為 in-process 的機制,將Session 的數(shù)據(jù)保存在這一臺服務(wù)器上,如果inproc 和usesqlserver 同時為 false ,則采取一種 out process 的機制,將Session 存儲在 一臺 專門用來保存Session 的服務(wù)器上,這樣就可以解決當訪問 一個站點的 不同主機的時候,Session 的共享,這個以前在ASP中絕對是不可能的.在 Beta1 的版本上 config.web 改變了很多,我們簡單的看一下:

  1. ﹤!-- Sessionstate attributes:  
  2. mode = "inproc" | "sqlserver" | "stateserver" 
  3. cookieless = "true" | "false" 
  4. timeout = ﹤Session timeout in minutes, a whole number greater than 0﹥  
  5. sqlconnectionstring = ﹤acceptable values for SQLConnection.ConnectionString,  
  6. only used when mode="sqlserver"﹥  
  7. server = ﹤server name, only used when mode="stateserver"﹥  
  8. port = ﹤port number, only used when mode="stateserver"﹥  
  9. --﹥ 

關(guān)于 config.web 文件的Session 部分我們就先說到這里,下面我們來看看 cookieless 的問題:

這個Cookieless 不是我們平常理解的是否在 客戶端 保存Cookie 根據(jù)豆腐的觀察,ASP.NET的Session

是不會在 瀏覽器客戶端生成任何的cookie的

我們首先把 cookieless 設(shè)置成為 false 的時候,我們來看看這個程序

  1. ﹤%@ Page Language="VB" %﹥  
  2. ﹤%Session("name")="豆腐"%﹥  
  3. ﹤%=Session("name")%﹥ 

程序執(zhí)行結(jié)束后,我們沒有從瀏覽器得到任何的 提示,雖然我們也使用到了Session當我們 把 cookieless 設(shè)置成為 true 以后,再次運行這個程序,我們發(fā)現(xiàn) 程序仍然是正確的執(zhí)行,但是瀏覽器的地址欄發(fā)生了一些變化,我們以前是

http://host/testSession.aspx 現(xiàn)在變成了 http://host/(包含有很多字符串的內(nèi)容)/testSession.aspx豆腐估計這是 因為 這個Session 甚至在 服務(wù)器上也沒有 生成Cookie 的原因,只好用 (包含有很多字符串的內(nèi)容)的內(nèi)容來保存Session的內(nèi)容了

當我們將inproc 和 usesqlserver 都設(shè)置成為 false 表示我們將使用 out process 這個時候,我們就要指定server 的name 這個server 就是同意保存 Session 的 服務(wù)器,我們需要在這個服務(wù)器上將asp state 的服務(wù)啟動

當我們需要使用 sql server 的時候,我們必須填寫 sql server的連接字符串,這樣 Session 就會被保存到sql server 的一個database ,當然這個database 是要生成的,,不過在PDC版本中,我沒有找到這個database 的安裝文件。

ASP.NET Session使用的相關(guān)情況就向你介紹到這里,希望對你了解ASP.NET Session使用有所幫助。

【編輯推薦】

  1. 構(gòu)建ASP.NET線程安全集合淺析
  2. ASP.NET線程安全與靜態(tài)變量的生命周期淺談
  3. ASP.NET中的Session會產(chǎn)生的性能問題淺析
  4. 關(guān)于ASP.NET Session的一點認識
  5. ASP.NET Session的七點認識
責(zé)任編輯:仲衡 來源: 中國自學(xué)編程網(wǎng)
相關(guān)推薦

2009-08-10 14:55:43

ASP.NET htt

2009-07-29 13:42:25

ASP.NET注釋

2009-07-29 14:12:45

ASP.NET tra

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優(yōu)點

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-28 16:57:50

ASP.NET Ses

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計

2009-07-31 11:45:42

ASP.NET文件下載

2009-08-04 15:20:59

ASP.NET數(shù)據(jù)驗證數(shù)據(jù)驗證控件

2009-08-07 17:59:35

控件設(shè)計器

2009-07-29 15:55:48

ASP.NET Req

2009-07-20 16:23:01

ASP.NET授權(quán)模塊

2009-08-04 17:00:09

ASP.NET禁用Vi

2009-07-23 14:31:20

ASP.NET MVC

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-28 15:53:43

ASP.NET Web

2009-07-27 10:18:12

TypeResolveASP.NET

2009-08-05 14:46:17

ASP.NET url
點贊
收藏

51CTO技術(shù)棧公眾號