手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp编程>列表

ASP技巧集锦(官方权威版)-1

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  如果在 Application 或 Session 作用域中存储数据,这些数据将一直保留在那儿,直到在程序中改变它、Session 过期或 Web 应用程序重新启动时为止。数据需要更新如何处理?若要用手工强制更新应用程序数据,可以调用只允许管理员访问的数据更新 ASP 页。另外,还可以通过函数,周期地自动刷新数据。下面的示例存储带缓存数据的时间戳,在指定时间间隔后刷新数据。
  <%
  ' 未显示错误处理...
  Const UPDATE_INTERVAL = 300 ' 刷新时间间隔,以秒计
  
  ' 函数返回雇佣状态列表
  Function GetEmploymentStatusList
   UpdateEmploymentStatus
   GetEmploymentStatusList = Application("EmploymentStatusList")
  End Function
  
  ' 定期更新缓存的数据
  Sub UpdateEmploymentStatusList
   Dim d, strLastUpdate
   strLastUpdate = Application("LastUpdate")
   If (strLastUpdate = "") Or _
   (UPDATE_INTERVAL DateDiff("s", strLastUpdate, Now)) Then
  
   ' 注意:此处可能有两个或多个调用。这是可以的,只不过
   ' 产生几个不必要的取指令罢了(就此有一个工作区)
  
   ' FetchEmploymentStatusList 函数(不显示)
   ' 从 DB 中取数据,返回一个数组
   d = FetchEmploymentStatusList()
  
   ' 更新 Application 对象。用 Application.Lock()
   ' 来确保一致的数据
   Application.Lock
   Application("EmploymentStatusList") = d
   Application("LastUpdate") = CStr(Now)
   Application.Unlock
   End If
  End Sub
  %>
  其他示例,请参阅具有 Application 数据的最快列表框(英文)。
  请注意,在 Session 或 Application 对象中缓存大型数组并非上策。在访问数组元素之前,脚本语言的语法要求建立整个数组的临时副本。例如,如果在 Application 对象中缓存了将美国邮政编码映射到本地气象站的字符串数组,该字符串数组有 100,000 个元素,ASP 在找出一个字符串之前,必须将所有 100,000 个气象站复制到临时数组中。在这种情况下,建立带自定义方法的自定义组件,来存储气象站 - 或使用一个字典组件,也许更好。
  请不要在倒洗澡水时把孩子一同倒掉,对这种观点的一个新的注解是:数组提供了对内存中相邻关键-数据对的快速查找和存储。索引字典比索引数组要慢。您应该根据具体情况选择能够提供最佳性能的数据结构。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!