日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cookies和Session(二)

發布時間:2025/3/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cookies和Session(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、理解Session機制:
Session是一種用于服務器端狀態管理的機制,服務器使用一種鍵值對的結構來保存信息。當程序需要為某個客戶端的請求創建一個Session的時候,服務器首先檢查這個客戶端的請求里是否已包含了一個Session標識 - 稱為 Session id,如果已包含一個Session id則說明以前已經為此客戶端創建過Session,服務器就按照Session id把這個 Session檢索出來使用。在ASP.NET中,默認情況下這個Session id會存儲在客戶端瀏覽器的cookie 中,默認情況下如果不對Session做任何寫操作的話,客戶端是不存儲這個Session id的,可以通過在頁面拖一個button,不要對Session做任何寫操作,然后在Click事件中打印Session.SessionID,當單擊button時每次SessionID都是不同的。
?protected void Button1_Click(object sender, EventArgs e)
??? {
??????? Response.Write(Session.SessionID);
??? }

這說明服務器端的Session id都是重新創建的。
Session id的存儲方式有以下四種
1、AutoDetect
Web.config做相應的配置如下:
<system.web>
??? <sessionState? cookieless="AutoDetect">
??? </sessionState>
</system.web>
ASP.NET 確定請求瀏覽器或請求設備是否支持 Cookie。如果請求瀏覽器或請求設備支持 Cookie,則 AutoDetect 使用 Cookie 來保留用戶數據;否則,將在查詢字符串中使用一個標識符。如果瀏覽器或設備支持 Cookie,但當前禁用了 Cookie,則請求功能仍會使用 Cookie(也就是禁止不了Session所用的Cookie,這一點我有點疑惑,我禁止掉ie的Cookie,但仍然可以使用Session)。
?
2、UseCookies
Web.config做相應的配置如下:
<system.web>
??? <sessionState? cookieless="UseCookies">
??? </sessionState>
</system.web>
?無論瀏覽器或設備是否支持 Cookie,都使用 Cookie 來保留用戶數據。
?
3、UseDeviceProfile
Web.config做相應的配置如下:
<system.web>
??? <sessionState? cookieless="UseDeviceProfile">
??? </sessionState>
</system.web>
?ASP.NET 根據 HttpBrowserCapabilities 設置來確定是否使用 Cookie。如果 HttpBrowserCapabilities 設置指示瀏覽器或設備支持 Cookie,將使用 Cookie;否則,將在查詢字符串中使用一個標識符。
?
4、UseUri
Web.config做相應的配置如下:
<system.web>
??? <sessionState? cookieless="UseUri">
??? </sessionState>
</system.web>
無論瀏覽器或設備是否支持 Cookie,調用功能都使用查詢字符串來存儲標識符。這時候ASP.NET會將Session id存放在地址欄中,當訪問某個寫了Session的頁面時,地址欄會變成:
http://localhost:1237/WebSite6/(S(vyn3bk55h4a03w455vjiwj21))/default4.aspx
這時候你可以去打印Session id,你會發現Session id=vyn3bk55h4a03w455vjiwj21。

二、ASP.NET中Session的存儲模式有以下五種:
1、Custom
?會話狀態將使用自定義數據存儲區來存儲會話狀態信息。
?
2、InProc
?會話處于正在處理 ASP.NET 輔助進程的狀態。
?
3、Off
?會話狀態被禁用。
?
4、SQLServer
?會話狀態將使用進程外 SQL Server 數據庫來存儲狀態信息。
?
5、StateServer
?會話狀態將使用進程外 ASP.NET 狀態服務來存儲狀態信息

總結

以上是生活随笔為你收集整理的Cookies和Session(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。