仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 480|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之Global.asa文件的利用及Chat程序

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。程序
  在上一篇中作者给人人具体先容了两个十分有用的ASP内建工具Application和Session的利用办法。因为这二者的OnStart、OnEnd事务的剧本都必需在Global.asa文件中声明,因而,本篇将给人人具体先容Global.asa文件的利用办法。为使人人纯熟把握至今所学过的常识,本篇还将举出一个ASP的Chat程序,供列位参考。
  比来良多伴侣来信问我,为何前两期的典范程序运转时有如许那样的错。起首,我要向人人声明,这些程序都是我本人写的,在出“厂”前都经由及格查验,尽无“冒充伪劣产物”。:)因为程序中利用了cookie纪录客户信息,以是假如你在扫瞄器中没有设置承受cookie则程序将不克不及一般运转。别的,程序将客户信息纪录在客户真个cookie所利用的办法是Response.Cookie,此语句必需写在ASP文件中的第一个<HTML>标志前,这是由于Cookie是作为HTTP传输的头信息的一部分发送给客户的,假如当HTTP报头信息已传输给客户后再利用Response.Cookie,将呈现以下毛病:“HTTP题目已写进到客户扫瞄器。任何HTTP题目的修正必需在写进页内容之前。”,大概一些伴侣在剪贴程序的时分没有注重,打乱了程序的前后序次,大概是毛病的将HTML代码增加在ASP典范程序之前,因此招致程序运转堕落。因而,我倡议人人一方面在初次运转例程的时分不要对程序举行任何修改,只管在看懂程序的基本上慢慢改善,另外一方面在运转ASP程序时最少要在扫瞄器当选择可承受Cookie,不然一旦ASP程序中利用了Cookie或Session,它们都将没法一般运转。
  上面我来向人人先容Global.asa文件的利用办法。
  甚么是Global.asa文件?它实际上是一个可选文件,程序编写者能够在该文件中指定事务剧本,并声明具有会话和使用程序感化域的工具。该文件的内容不是用来给用户显现的,而是用来存储事务信息和由使用程序全局利用的工具。该文件的称号必需是Global.asa且必需寄存在使用程序的根目次中。每一个使用程序只能有一个Global.asa文件。
  在Global.asa文件中,假如包括的剧本没有效<SCRIPT>标志封装,或界说的工具没有会话或使用程序感化域,则服务器将前往毛病。我们能够用任何撑持剧本的言语编写Global.asa文件中包括的剧本。假如多个事务利用统一种剧本言语,就能够将它们构造在一组<SCRIPT>标志中。
  在Global.asa文件中声明的历程只能从一个或多个与Application_OnStart、Application_OnEnd、Session_OnStart和Session_OnEnd事务相干的剧本中挪用。在基于ASP的使用程序的ASP页中,它们是不成用的。假如要在使用程序之间共享历程,可在独自的文件中声明这些历程,然后利用服务器端包涵(SSI)语句将该文件包括在挪用该历程的ASP程序中。一般,包括文件的扩大名应为.inc。
  上面是一个很尺度的Global.asa文件:
<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
Session_OnStart当客户初次运转ASP使用程序中的任何一个页面时运转
Session_OnEnd当一个客户的会话超时或加入使用程序时运转
Application_OnStart当任何客户初次会见该使用程序的首页时运转
Application_OnEnd当该站点的WEB服务器封闭时运转
</SCRIPT>
<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
SubApplication_OnStart
VisitorCountFilename=Server.MapPath("/ex2")+"VisitCount.txt"
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=FileObject.OpenTextFile(VisitorCountFilename,1,FALSE,FALSE)
Application("visitors")=Out.ReadLine
Application("VisitorCountFilename")=VisitorCountFilename
EndSub
=========================================================
SUBApplication_OnEnd
SetFileOutObject=Server.CreateObject("Scripting.FileSystemObject")
SetOut=FileOutObject.CreateTextFile(Application("VisitorCountFilename"),TRUE,FALSE)
Out.WriteLine(application("visitors"))
EndSub
=========================================================SubSession_OnStart
Session.Timeout=5
Application("visitors")=Application("visitors")+1
Session("ID")=Session.SessionID
EndSub
</SCRIPT>
  在这个Global.asa程序中,触及到了ASP的FileAccess组件,它能够供应用于会见文件体系的办法、属性和汇合。这将在今后ASP的组件中举行睁开会商。在这里,它起到了在服务器上创立新文件并对文件举行写操纵的感化。这实际上是一个ASP页面会见记数器使用程序的Global文件,起首当客户初次会见该使用程序的首页时,历程Application_OnStart界说了在服务器上指定的假造目次下新建一个VisitCount.txt的文本文件,并将文件的路径和内容保留在使用程序级的变量中。而当任何一个客户会见ASP使用程序中的任何一个页面时,历程Session_OnStart界说将使用程序级的变量visitors的值主动加一。如许,每当有客户会见页面时,变量visitors都将主动加一,以起到统计点击率的感化。因为变量visitors的值是存储在体系内存当中,以是假如服务器封闭或从头启动,存储在变量中的数据将主动丧失,以是经由过程界说历程Application_OnEnd,在服务器封闭或重启之前将数据写进事前创建的文本文件当中,如许就可以确保当服务器再次启动时,Application_OnStart历程能够从VisitCount.txt文件中读取之前的统计数。
  经由这段工夫的进修,信任人人已可以对照纯熟的使用我们所学过的这些ASP内建工具来编写一些较复杂的ASP使用程序,可别小视你如今所把握的这些ASP基础常识哦!实在你已可以开辟一些复杂但有用的ASP使用程序了。上面我就举一个十分复杂的ASPWEB谈天室程序,你会觉察写谈天室本来是一件这么简单、轻松的事。大概伴侣们已在一些杂志上看到过ASP谈天程序的编写办法,但作者在这里本人写了一个更复杂的程序,仅仅利用了一个.asp文件。请将以下代码剪贴到记事簿并保留为chat.asp。
<%@Language=VBScript%>
<%
Response.Buffer=true设置输入缓存,用于显现分歧页面。
Onerrorresumenext疏忽程序堕落部分
IfRequest.ServerVariables("Request_Method")="GET"then
判别客户是以甚么体例哀求WEB页面
------------------------
客户上岸界面
------------------
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
海妖 该用户已被删除
沙发
发表于 2015-1-20 06:05:48 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
活着的死人 该用户已被删除
板凳
发表于 2015-1-28 05:27:13 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
因胸联盟 该用户已被删除
地板
发表于 2015-2-5 11:31:56 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
老尸 该用户已被删除
5#
发表于 2015-2-11 13:17:36 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
飘灵儿 该用户已被删除
6#
发表于 2015-3-2 12:54:50 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
不帅 该用户已被删除
7#
发表于 2015-3-11 03:43:16 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-17 19:52:00 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
透明 该用户已被删除
9#
发表于 2015-3-24 22:44:57 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 07:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表