国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

從別人那拷下來的幾點Session使用的經驗

2024-07-10 12:40:06
字體:
來源:轉載
供稿:網友
問:當頁面中是否了frameset,發現在每個frame中顯示頁面的SessionID在第一次請求時都不相同,為什么?
答:原因是你的frameset是放在一個htm頁面上而不是ASPX頁面。
在一般情況下,如果frameset是aspx頁面,當你請求頁面時,它首先將請求發送到Web服務器,此時已經獲得了SessionID,接著瀏覽器會分別請求Frame中的其他頁面,這樣所有頁面的SessionID就是一樣的,就是FrameSet頁面的SessionID。
然而如果你使用Html頁面做FrameSet頁面,第一個請求將是HTML頁面,當該頁面從服務器上返回是并沒有任何Session產生,接著瀏覽器會請求Frame里面的頁面,這樣這些頁面都會產生自己的SessionID,所以在這種情況下就會出現這種問題。當你重新刷新頁面時,SessionID就會一樣,并且是最后一個請求頁面的SessionID。

問:是否可以將不同應用程序的Session保存在相同的SQL Server服務器的不同數據庫上。
答:可以,請參考:
FIX: Using one SQL database for all applications for SQL Server session state may cause a bottleneck
http://support.microsoft.com/default.aspx?scid=kb;en-us;836680

問:在Session_End是我是否可以獲得有效的HttpSessionState和HttpContext對象?
答:你可以在這個方法中獲得HttpSessionState對象,可以直接使用Session來訪問即可。但是不能獲得HttpContext對象,因為該事件并沒有和任何請求相關聯,因此不存在上下文對象。

問:當我設置EnableSessionState為“ReadOnly”后,但是我在InProc模式下依然可以修改Session的值,這是為什么?
答:即使EnableSessionState標示為ReadOnly,但是在InProc模式下用戶依然可以編輯Session。唯一不同的是,在請求過程中Session將不會被鎖住。

問:當Session設置成cookieless后會有什么影響?
答:當把cookieless設置成true時,主要會有下面的約束:
1、在頁面中不能使用絕對鏈接
2、在應用程序中在除了Http和Https之間的切換時需要完成一些其他的步驟。
如果發送一個鏈接給其他人,此時的URL里面將包含Session ID的信息,所以兩個人將公用一個Session。

問:為了可以順序訪問Session的狀態值,Session是否提供了鎖定機制?
答:Session實現了Reader/Writer的鎖機制:
當頁面對Session具有可寫功能(即頁面有<%@ Page EnableSessionState="True" %>標記),此時直到請求完成該頁面的Session持有一個寫鎖定。
當頁面對Session具有只讀功能(即頁面有<%@ Page EnableSessionState="ReadOnly" %>標記),此時知道請求完成該頁面的Session持有一個讀鎖定。
讀鎖定將阻塞一個寫鎖定;讀鎖定不會阻塞讀鎖定;寫鎖定將阻塞所有的讀寫鎖定。這就是為什么兩個框架中的同一個頁面都去寫同一個Session時,其中一個要等待另一個(稍快的那個)完成后,才開始寫。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石台县| 赤壁市| 邛崃市| 台江县| 日土县| 东乌| 台州市| 玛多县| 秀山| 崇明县| 阳新县| 仲巴县| 托里县| 漳浦县| 资溪县| 渑池县| 老河口市| 西贡区| 福贡县| 托克逊县| 息烽县| 遵化市| 贵州省| 盐津县| 贵溪市| 南澳县| 阳曲县| 大荔县| 从江县| 鄂州市| 揭阳市| 巫溪县| 永新县| 梨树县| 宜兰县| 喀喇沁旗| 大埔区| 张家口市| 新蔡县| 辰溪县| 汝州市|