仓酷云

标题: ASP教程之关于Global.asa文件的深切研讨与sessio... [打印本页]

作者: 再现理想    时间: 2015-1-16 22:32
标题: ASP教程之关于Global.asa文件的深切研讨与sessio...
ASP脚本是采用明文(plaintext)方式来编写的。一:Global.asa文件的释疑!从字面上讲!Global就是全局的,环球的意义!
我们都晓得!扫瞄器中的变量存活期非常长久!只要几十秒!也就是一个页面的下载工夫。那末我们如何从性命入手下手
到停止都追踪session级变量哪?靠asp文件已力所能及了!微软告知我们:靠我们的Global.asa吧!
global.asa是一个可选的文件!他必需放在你的www根目次下,或是假造目次的根目次下。如许,能够确保你的一个应
用程序共享一个global.asa文件。恰是他能够在你的使用程序入手下手一直追踪使用程序工具预会话工具。

二:Global.asa文件的构成与用法释疑!
为了让服务器记录独自用户的线程。Global.asa文件必需指定
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>
.......
</SCRIPT>
而runat=server这行笔墨告知我们他的确是在服务器上实行的。(以是你不成能用msgbox()的函数,也不成能用
document.write的办法提醒用户或写一些甚么!后有胪陈)
完全的用法是:
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>

SubApplication_OnStart
...
EndSub

SubApplication_Onend
...
EndSub

Subsession_OnStart
...
EndSub

Subsession_Onend
...
EndSub

</SCRIPT>

而全部历程是如许的。当你会见一个站点文件。假如是html的,则程序不会运转!由于内里不成能有application,session
工具的产生。假如是asp文件,则服务器起首检测www的根目次,或假造目次的根目次有无global.asa文件。若有,则运
路程序内的响应代码!可是请注重,假如你的asp文件中并没有创建实例化的application,session。服务器一样不追踪
你!
别的:值得注重的是:在Onstart事务产生时,服务器的任何工具都可使用!
可是当onend事务产生时。则应注重session_Onend中只同意server,application,session工具运转。但实践下限制更多。
你不克不及在个中运转server.mapth办法。并且不成以再对session举行附值。

三:怎样在session工具生效时提示用户---生效后
终究入手下手会商有效的话题了!这也是很多网友体贴的成绩!
起首,我们会商生效后怎样提示。
这也要提示吗?间接检测session("**")得值就能够吗?(**为你要检测其session("**")是不是生效的值!)如许其实不
好,由于第一次下去的人也大概其session("**")为空!
那末,我们来看看,该功效详细用在甚么中央。最分明的例子为购物网页,假如你用session来存储购物车。你必需告
诉他他的购物车是不是生效(假如再购物时代用户进来了,或是肚子不恬逸了一时干了甚么!session的值大概生效!)
有的设法是一生效就给出提醒。惋惜很难完成!由于session_onend事务在服务器端实行!不成能实时的传过去告知
你,除非用serverpush的办法。实在也欠好!假如你不在,或是没有了毗连,他一样没法完成。
以是只要用户再次上岸时告知你你的上一次购物未完成,只要从头上岸!
这下就好完成了。针对与独自的客户,假如他入手下手购物了那末他将触发session_onstart事务的产生。如许你在
global.asa中对其客户端做标志!代码以下:
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>
.....
Subsession_OnStart
response.cookies("flag")=1
EndSub
......
</script>
然后在你的检测代码中写下检测代码
flag=request.cookies("flag")

ifflag=1andsession(**)=""then
response.write"你的上一次上岸已过时了"
response.end
elseifsession(**)=""then
response.write"你还没有上岸"
endif
你能够将其写成一个文件,然后用<--#include....-->包括进你必要检测的文件中,如许就能够完成对其检测了!

那为何不克不及在session_onend事务中写代码,如许不是更简单吗?

惋惜,我想了很多举措也没有想出。由于在session_onend事务中,你不成能用response.write,response.redirect。对
象做些甚么,他们不成会见。只能用的几个工具application,session,server还限定多多。你也不成能在此时代再给
session(**)附值,如许他大概不再会生效了,呵呵!

四:生效前给出提醒。
防患于已然是个很好的设法,但完成起来就不是真的很有效。我们下面会商过。这必需是用户毗连着。并且仿佛还没
有session快生效的事务,呵呵!
那末真的没有无举措了吗?实在有,我们只需将下面的代码多加几行就能够了。
起首。仍是用global.asa文件中的session_onstart事务。
这里你要加上。
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>
.....
Subsession_OnStart
session.timeout=30这里指sission的生效工夫,以分钟为单元!
response.cookies("flag")=1
response.cookies("time")=now()这里记录他的初度创建session的工夫。
EndSub

......
</script>

看到这里,我们应当能够不难写出检测代码。
将下面的代码从头写过,加一个工夫运算假如它的生效另有5分钟,就提醒他。
应当不难!
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
作者: 简单生活    时间: 2015-1-19 16:22
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者: 爱飞    时间: 2015-1-27 14:59
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 飘飘悠悠    时间: 2015-2-5 09:40
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
作者: 深爱那片海    时间: 2015-2-11 08:37
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者: 若天明    时间: 2015-3-2 03:49
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 第二个灵魂    时间: 2015-3-11 02:13
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 透明    时间: 2015-3-17 19:08
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
作者: 飘灵儿    时间: 2015-3-24 20:41
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2