在下面数据中,列出了每种方案的性能比较,强调的是内存共享aspsession池最快小型用户可以使用,采用数据库的话
也会增加额外的开支,增加成本(除非你很有钱)。减 少网络回传,服务器请求是提高性能的唯一方法,微软的Web应用程
序压力工具,是用来执行测试压力水平的25个线程为1分钟的时间从表中可以明显的看出用内存存储aspsession比另外两种方
式更快。
代码描述ASP机制,在asp中创建sessioni 如下:Method Get Data (ms) Set Data (ms) 5 values 1 value 5 values 1 value In-memory ASP Sessions 46 9 34 7 ASP/ASP.NET web service individually 4321 864 3397 679 ASP/ASP.NET web service grouped 711 142 990 198 ASP/ADO database individually 346 69 841 168 ASP/ADO database grouped 163 33 860 172
Session("Sky") = "Blue";
在其他的页面中访问这些值采用:
var skyString = Session("Sky");
新的API语法:
下面的语法将会代替原来的asp session 语法,目的是在桥的使用中javascript 函数可以进行封装
设置一个关键值对;
设置一个kye-value 类型session 数据,语法和值钱的asp Session 语法很相似,采用下面的代码可以把现有的设置asp session代码替换;
设置sessioni数据:
SetSessionValue("Sky", "Blue");
获取 session :
var SkyString = GetSessionValue("Sky");
这种方法建议在设置比较少的情况下用
设置多个key-valus对值
这些方法的最大开销在于设置每一个key-value,然后返回给webservice,推荐用以下方法来设置(当超过3对以上的key-values)
设置session
获得sessionvar sessionInfo = NewSession(); sessionInfo.Add(“Sky”, "Blue"); sessionInfo.Add(“Grass”, “Green”); SetSession(sessionInfo);
Java Script Examplevar sessionInfo = GetSession(); var skyString = sessionInfo.Item(“Sky”); var grassString = sessionInfo.Item(“Grass”);
<%@ Language="JScript" %> <script language="JScript" runat="server" src="ASPSessionWS.js" /> <% var sessionInfo = NewSession(); sessionInfo.Item("Sky") = "Blue"; sessionInfo.Item("Grass") = "Green"; SetSession(sessionInfo); var retrievedSession = GetSession(); var sSky = retrievedSession.Item("Sky"); var sGrass = retrievedSession.Item("Grass"); Response.Write(sSky + "<br>"); Response.Write(sGrass + "<br>"); %> Visual BASIC Example <%@ Language="VBSCRIPT" %> <script language="JScript" runat="server" src="ASPSession.js" /> <% Dim sessionInfo Set sessionInfo = NewSession() sessionInfo.Item("Sky") = "Blue" sessionInfo.Item("Grass") = "Green" SetSession(sessionInfo) Dim retrievedSession Set retrievedSession = GetSession() Dim sSky sSky = retrievedSession.Item("Sky") Dim sGrass sGrass = retrievedSession.Item("Grass") Response.Write(sSky & "<br>") Response.Write(sGrass & "<br>") %>