若相依 发表于 2015-1-16 23:47:15

ASP网站制作之在ASP中摹拟.NET下的cache手艺

减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。cache为了进步网站首页的功能,首页但凡必要挪用数据库显现数据的中央城市先试图从缓存中挪用数据,假如缓存中没有可用数据再翻开数据库掏出纪录集,为了让页面显现数据和数据库在必定工夫内同步,我们把缓存的过时工夫设置成30秒。

  声明:缓存办理类出自于动网论坛7.0

  注重:最好不要在缓存里间接缓存带形态的工具和MTA形式的工具,好比说间接缓存纪录集大概数据库链接工具等。

<%
SubShowRsArr(rsArr)
 用表格显现纪录集getrows天生的数组的表布局
 
 Response.Write"<tablewidth=100%border=0cellspacing=0cellpadding=0>"
 IfNotIsEmpty(rsArr)Then
  Fory=0ToUbound(rsArr,2)
   Response.Write"<tr>"
   forx=0toUbound(rsArr,1)
    Response.Write"<td>"&rsArr(x,y)&"</td>"
   next
   Response.Write"</tr>"

  next
 Else
  Response.Write"<tr>"
  Response.Write"<tdcolspan="&rs.fields.count-1&">NoRecords</td>"
  Response.Write"</tr>"
 EndIf
 Response.Write"</table>"
EndSub
ClassCls_Cache
Rem==================利用申明=================================================================================
Rem=本类模块是动网前锋原创,迷城荡子。如接纳本类模块,请不要往失落这个申明。这段正文不会影响实行的速率。=
Rem=感化:缓存弛缓存办理类=
Rem=私有变量:Reloadtime过时工夫(单元为分钟)缺省值为14400,=
Rem=MaxCount缓存工具的最年夜值,凌驾则主动删除利用次数少的工具。缺省值为300=
Rem=CacheName缓存组的总称号,缺省值为"Dvbbs",假如一个站点中有凌驾一个缓存组,则必要内部改动这个值。=
Rem=属性:Name界说缓存工具称号,只写属性。=
Rem=属性:value读取和写进缓存数据。=
Rem=函数:ObjIsEmpty()判别以后缓存是不是过时。=
Rem=办法:DelCahe(MyCaheName)手工删除一个缓存工具,参数是缓存工具的称号。=
Rem===========================================================================================================
PublicReloadtime,MaxCount,CacheName
 PrivateLocalCacheName,CacheData,DelCount
 PrivateSubClass_Initialize()
  Reloadtime=14400
  CacheName="Dvbbs"
 EndSub
PrivateSubSetCache(SetName,NewValue)
 Application.Lock
 Application(SetName)=NewValue
 Application.unLock
EndSub

PrivateSubmakeEmpty(SetName)
 Application.Lock
 Application(SetName)=Empty
 Application.unLock
EndSub

PublicPropertyLetName(ByValvNewValue)
 LocalCacheName=LCase(vNewValue)
EndProperty

PublicPropertyLetValue(ByValvNewValue)
 IfLocalCacheName<>""Then
  CacheData=Application(CacheName&"_"&LocalCacheName)
  IfIsArray(CacheData)Then
   CacheData(0)=vNewValue
   CacheData(1)=Now()
  Else
   ReDimCacheData(2)
   CacheData(0)=vNewValue
   CacheData(1)=Now()
  EndIf
  SetCacheCacheName&"_"&LocalCacheName,CacheData
 Else
  Err.RaisevbObjectError+1,"DvbbsCacheServer","pleasechangetheCacheName."
 EndIf
EndProperty

PublicPropertyGetValue()
 IfLocalCacheName<>""Then
  CacheData=Application(CacheName&"_"&LocalCacheName)
  IfIsArray(CacheData)Then
   Value=CacheData(0)
  Else
   Err.RaisevbObjectError+1,"DvbbsCacheServer","TheCacheDataIsEmpty."
  EndIf
 Else
  Err.RaisevbObjectError+1,"DvbbsCacheServer","pleasechangetheCacheName."
 EndIf
EndProperty
PublicFunctionObjIsEmpty()
 ObjIsEmpty=True
 CacheData=Application(CacheName&"_"&LocalCacheName)
 IfNotIsArray(CacheData)ThenExitFunction
 IfNotIsDate(CacheData(1))ThenExitFunction
 IfDateDiff("s",CDate(CacheData(1)),Now())<60*ReloadtimeThen
  ObjIsEmpty=False
 EndIf
EndFunction
PublicSubDelCahe(MyCaheName)
 makeEmpty(CacheName&"_"&MyCaheName)
EndSub
EndClass
Dimstrconn,rs
strconn="Driver={sqlserver};server=localhost;database=northwind;uid=sa;pwd=sa;"

PublicFunctionGetEmployees()

 DimSQL,Rs,Cache
 SetCache=NewCls_Cache
 Cache.Reloadtime=0.5
 Cache.CacheName="wawa"
 Cache.Name="Employees"
 IfCache.ObjIsEmpty()Then
  Setrs=Server.CreateObject("ADODB.Recordset")
  SQL="selectEmployeeID,LastName,FirstNamefromemployeesorderbyemployeeiddesc"
  Rs.OpenSQL,strconn,1,1
  Cache.value=Rs.GetRows(5)
  Rs.Close:SetRs=Nothing
 EndIf
 GetEmployees=Cache.Value
 SetCache=Nothing
EndFunction
ShowRsArr(GetEmpLoyees)
%>
<script>
functionTimeOut(a){
 varc=a-1;
 if(c==0){
  window.location.href=window.location;
 }else{
  document.all.abc.innerHTML="离缓存停止另有:"+c+"秒";
  window.setTimeout(TimeOut(+c+),1000);
 }
}
</script>
<body>
<divid="abc"></div></p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。

老尸 发表于 2015-1-20 10:13:01

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

不帅 发表于 2015-1-29 06:44:35

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

透明 发表于 2015-1-30 15:00:52

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

小女巫 发表于 2015-2-6 13:36:29

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

admin 发表于 2015-2-16 07:23:23

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

变相怪杰 发表于 2015-3-5 01:23:17

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

深爱那片海 发表于 2015-3-11 22:04:34

那么,ASP.Net有哪些改进呢?

再见西城 发表于 2015-3-19 14:57:12

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

海妖 发表于 2015-3-28 15:52:11

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页: [1]
查看完整版本: ASP网站制作之在ASP中摹拟.NET下的cache手艺