|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。*本例程将会用到Application工具、数据库、JavaScript、和文件操纵。
起首,我们列一下本例程将触及的内容:
1)我们将创立一个用于显现“逐日提醒”的弹出式窗口;
2)提醒将在天天出现分歧的内容;
3)提醒内容保留于数据库中,承受由网上传来的讨取指令;
4)提醒内容更新便当,也能够随时增加新的内容;
5)供应一种手腕以列出一切提醒。
上面,我们将触及细节成绩。我们只会商个中的某些内容,别的的信息将由实践发生的文档供应(甚么意义?蜘蛛精也不太分明,待我们今后瞧瞧再说)。
我必要晓得以后显现的是哪一条提醒。为了传送以后提醒的编号,我们要用到Application。同时,为了在更新提醒时晓得这些,我们要将已显现的提醒编号存档,保留在磁盘中。如许做是为了避免服务重视启动、断电、(反反动分子蓄意损坏、不法构造黑白色网站等)变乱中相干数据丧失。我们就用TIPSTORE.DAT作数据存档文件。它包括两行,一行是提醒的编号,一行是数据。
由于这些值一向寄存在Application中,当运转“逐日提醒”时,我们便可将它们从TIPSTORE.DAT中掏出。作这项事情最好的体例是使用GLOBAL.ASA,在Application_OnStart中。GLOBAL.ASA文件能够掏出这些值。(晓得上面这句话怎样译的人请举手!)Thisisdone,courtesyoftheFileSystemObjectanditssupportthroughtheTextStreamObjectmethods:(好,手放下!既然你们都晓得了,那我也就不注释了)
PhyPth=Server.MapPath("/tipstore.dat")
setFilSys=CreateObject("Scripting.FileSystemObject")
setTipFil=FilSys.OpenTextFile(PhyPth,1)
Application("CurTip")=TipFil.ReadLine
Application("SymDt")=CDate(TipFil.ReadLine)
TipFil.Close
setTipFil=nothing
setFilSys=nothing
我们选择Server.MapPath指明文件的物理位址。这可以使这段用于处置DAT文件的代码不必经由修正便可用于多个站点。FilSys创立为FileSystemObject,TipFil创立为TextStreamObject。我们接上去便可从这个文件里读数据,完成后再封闭它。
接上去,我们来看看这个更新提醒的页面。这也是我们向用户供应提醒选择权的页面。我大概会倡议你把它放到你的主页上,而实在它能够放就任何中央。让我们来看一看这个名为HOME.ASP的文件的内容:
<%
Tipofthedayprocessing
ifApplication("SymDt")<Datethen
Application.Lock
CurTip=Application("CurTip")+1
SymDt=date
Application("CurTip")=CurTip
Application("SymDt")=SymDt
Application.Unlock
PhyPth=Server.MapPath("/tipstore.dat")
setFilSys=CreateObject("Scripting.FileSystemObject")
setTipFil=FilSys.CreateTextFile(PhyPth,true)
TipFil.WriteLine(CurTip)
TipFil.WriteLine(CStr(SymDt))
TipFil.Close
setTipFil=nothing
setFilSys=nothing
endif
%>...
直到最初,我们反省以后的提醒是不是比上一个提醒更新。假如第一个用户会见这个招致新数据的页面,我们就很简单来处置这类变更。(分明乎?归正蜘蛛精是弄蒙了。我觉察翻译手艺材料最头痛的并非手艺内容,而是怎样往了解作者的意义。不才素性痴顽,才疏学浅,直觉亦不甚灵敏,只要把这些内容留给网友了。原文请见英文版)。锁住Application,我们就不会取到反复的变更。选择下一个提醒的编号,把以后的编号存进数据中以备今天利用。因为上述的诸多缘故原由,将处置的了局存进文档是需要的。(除非你是玩MUD,或与收集恋人举行存亡恋。能够“24hoursaday,7daysaweek”地开着呆板)
为了发生弹出式扫瞄器窗口,我们得借助JavaScript来完成。上面的函数能够完成这个功效。
functiondisplayPopup(url,height,width){
properties="toolbar=0,location=0,scrollbars=1,height="+=height;
properties=properties+",width="+width;
properties=properties+",left=0,top=0";
popupHandle=open(url,"tipwindow",properties);
}
就像你看到的那样,我们能够在这个弹出窗口中显现任何一个网址。我们也可把持窗口的高度和宽度。关于分歧的扫瞄器,代码发生的了局是纷歧样的,以是必要在IE和Netscape中作测试。我已预设了一些参数以调剂我们要天生的窗口。
Javascript要觉得我们创立这个窗口。
URL:
<ahref="javascript:displayPopup(popup.asp,300,300)">
javascript:协定告知扫瞄器这段代码由JavaScript引擎注释,而与收集服务器有关。如许我们可让扫瞄器处置函数时将POPUP.ASP作为地点。窗口巨细为300×300象素。
大概该让POPUP.ASP袍笏登场了。
<%
TipNbr=Application("CurTip")
setrstTip=CreateObject("ADODB.Recordset")
rstTip.Open"SELECT*FROMTipWHERETip="&TipNbr,_
"DSN=TipData"
%>
我们创立rstTip作为Recordset来会见数据库,这个数据库注册为体系DSN(SystemDSN)(注册办法就未几说了吧,在把持面板中完成)。DSN的称号为TipData。在纪录中,我们存眷存于Application中的提醒编号。
我们要从纪录中显现相干信息。
...<%=rstTip("TipTitle")%>...
经由过程这类办法,我们把域TipTitle从以后的纪录中记出,并将其前往至扫瞄器。我们完成显现后,就产闭它,开释工具。
...<%
rstTip.Close
setrstTip=nothing
%>...
你会发明尚有两个ASP文件:RESETTIPS.ASP使提醒编号复兴到列表的入手下手;TIPLIST.ASP按指定的格局显现一切的提醒。
祝列位编程兴奋!
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|