偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET的Session State

開發(fā) 后端
本文介紹ASP.NET的Session State,根據(jù)Session State 標記的 mode 屬性選擇的四種不同的狀態(tài)管理器實現(xiàn)。

為此ASP 的使用者不得不自己手工將會話信息以會話 ID 為主鍵同步到外部數(shù)據(jù)庫中,以緩解類似問題。

而在 ASP.NET 中,因為設計時就考慮了這些問題,能夠避免這些限制:1.支持進程外的狀態(tài)管理,通過獨立狀態(tài)管理服務或 SQL Server 狀態(tài)服務器管理會話狀態(tài)2.支持不使用 Cookie 的狀態(tài)維護,通過在 URL 中自動增加會話 ID 來避免使用 Cookie 3.通過獨立的狀態(tài)管理服務或SQL Server 狀態(tài)服務器支持負載均衡時同步使用會話信息實現(xiàn)這些特性的正是上節(jié)提到的Session StateModule.InitModuleFromConfig 函數(shù)中,根據(jù)Session State 標記的 mode 屬性選擇的四種不同的狀態(tài)管理器實現(xiàn)。

以下內容為程序代碼:

  1. <system.web> 
  2. <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" 
    stateNetworkTimeout="10" sqlConnectionString="data source=127.0.0.1;
  3. Integrated Security=SSPI" cookieless="false" timeout="20" /> 
  4. </system.web> 

Off模式禁止會話管理,同時 ASP.NET 還允許通過在頁面中以 Enable Session State 屬性細粒度管理頁面的會話支持狀態(tài)以下內容為程序代碼:

  1. <%@ Page EnableSessionState=" True|False|ReadOnly" %> 

InProc 模式兼容以前 ASP 的策略,在 ASP.NET 同一進程空間內實現(xiàn)基于內存的會話狀態(tài)管理,速度最快但受到與 ASP 相同的限制;STATE SERVER 模式通過 ASP.NET 獨立安裝的 ASP.NET State Service 服務(aspnet_state.exe),以 stateConnectionString 指定的IP和端口響應會話狀態(tài)服務;SQLServer 模式則通過 sqlConnectionString 指定的 SQL Server 服務器,以內存臨時表(以 InstallSqlState.sql建庫,使用 tempdb 內存數(shù)據(jù)庫)或獨立表(以InstallPersistSqlState.sql 監(jiān)控,使用獨立的 ASPState 庫)維護會話狀態(tài)。

這四種不同的狀態(tài)管理器,在性能上據(jù)《Performance Tuning and Optimizing ASP.NET Appliation》一書的測試,相對值如下:以下為引用:Table 4-1: Normalized TTLB(Time to Last Byte) bySession State Mode (in Milliseconds per 100 Requests)

CONCURRENT BROWSERS MODE = OFF MODE = INPROC MODE = STATE SERVER MODE = SQLSERVER 1 7.81 4.54 8.27 8.47 5 28.28 20.25 27.25 29.29 10 89.38 46.08 77.29 85.11 Table 4-2: Average Requests per Second bySession State Mode CONCURRENT BROWSERS MODE = OFF MODE = INPROC MODE = STATE SERVER MODE = SQLSERVER 1 18.86 24.17 18.31 18.11 5 21.66 25.74 21.54 21.34 10 17.23 23.8 18.11 17.6可以看到,無論是從 TTLB 還是每秒平均請求數(shù)來說,進程外狀態(tài)管理器的性能都是可以令人接受的,當然還需要針對狀態(tài)管理情況在編寫代碼時做相關優(yōu)化。不過要使用進程外狀態(tài)管理器,則保存在會話中的對象受到必須提高二進制序列化支持的限制。

從使用角度來看,狀態(tài)管理器實際上都是由上節(jié)提到的 HttpSessionModule 建立管理,并通過 Http Session State 接口提供訪問的,結構如下圖:MSDN 上的 Underpinnings of theSession State Implementation in ASP.NET 一文非常詳細的解釋了幾種不同狀態(tài)管理器的原理和使用,這兒就不羅嗦了。

【編輯推薦】

  1. ASP.NET中的數(shù)據(jù)源控件
  2. 介紹ASP.NET的XML Web服務使用
  3. ASP.NET應用程序的web.config文件
  4. 概述ASP.NET XML Web服務
  5. ASP.NET中實現(xiàn)HTTP請求
責任編輯:佚名 來源: IT168
相關推薦

2009-08-21 18:05:23

ASP.NET Ses

2009-07-28 16:57:50

ASP.NET Ses

2009-07-20 17:21:43

Session狀態(tài)ASP.NET

2009-07-24 10:41:00

ASP.NET Ses

2009-08-03 10:07:20

ASP.NET Ses

2009-07-23 18:56:50

ASP.NET Ses

2009-07-24 10:41:00

ASP.NET Ses

2009-08-05 18:30:36

Session和CooASP.NET表單

2009-07-22 18:02:26

ASP.NET Ses

2009-07-23 16:28:55

2009-07-30 14:03:04

ASP.NET中的se

2009-08-03 09:45:14

ASP.NET Ses

2009-08-03 09:17:30

ASP.NET Ses

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-02 14:39:27

Session的值JSP Asp.net

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-10 09:39:25

ASP.NET網(wǎng)站性能

2009-07-27 15:48:43

點贊
收藏

51CTO技術棧公眾號