我已经阅读了很多有关Classic Asp中会话变量的文章。
我已经知道访问Request.Servervariables成本很高,因为每次请求特定项时,整个集合都必须由ASP脚本从IIS中获取。
我很想知道是否同样适用于会话变量...? 收集几个我在脚本启动时正在使用的session.variables是一个好主意吗?
以下文章建议(我也相信)Session.Contents不会像Request.ServerVariables一样遭受效率低下的困扰?由于IIS一次性提供了Sesison,这是真的吗? http://www.4guysfromrolla.com/webtech/092298-3.shtml
注意:我对会话变量的使用非常稀疏,但是我正在寻找每一点优化方法:)
答案 0 :(得分:3)
完全正确。
简单的答案是,如果一次需要会话变量(或应用程序,这是相同的),则可以直接使用它:
<%=session("userLastName")%>, <%=session("userFirstName")%>
如果您多次需要会话变量,请在本地复制(此示例中为数组):
<%
localAryCopy = session("myArray")
for each tmp in localAryCopy
response.write tmp
next
%>
上周,有人要求我检查为什么他的asp classic应用程序要TTFB(到第一个字节的时间)要3秒钟。他多次使用3个会话变量(每个嵌入3个变量,总共约100个循环)。我刚刚制作了本地副本,TTFB降到了大约50ms。