您的位置:首页精文荟萃软件资讯 → 使用ASP常见问题解答

使用ASP常见问题解答

时间:2004/10/8 13:36:00来源:本站整理作者:蓝点我要评论(0)

 问题:如何保护自己的ASP源代码不泄露? 

  答:下载微软的Windows Script Encoder,对ASP的脚本和客户端JavaScript、VBScript脚本进行加密。客户端脚本加密后,只有IE5以上的版本才能执行,服务器端脚本加密后,只有服务器上安装有Script Engine 5(装IE5即可)才能解释执行。 

  问题:为什么Global.asa文件总是不起作用? 

  答:只有把Global.asa文件放在Web发布目录某个站点的根目录下它才有效,放在发布目录的某个子目录下不起作用。另外,也可以使用IIS4的Internet Service Manager把某个子目录设置为站点。 

  问题:为什么ASP文件总不解释执行? 

  答:在IIS服务器上没有给ASP文件以脚本解释的权限,所以ASP文件没有被Web服务器作为脚本代码进行解释执行,而被当成一般页面文件了。建议在Web发布目录中建立一个ASP目录,把所有ASP文件存放在此目录下,把ASP目录赋予脚本解释权限。 

  问题:ASP文件中使用Response.Redirect(url) 时导致错误“ The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content”,请问如何解决? 

  答:此错误为HTTP 标题在写入页内容之后,写到了客户浏览器中。任何 HTTP 标题的修改必须在写入页内容之前进行,解决的方法为在ASP文件最开头加入Response.Buffer = True,在文件的结尾加入Response.Flush。 

  问题:为什么Session 有时候会消失? 

  答:Session很像临时的Cookie,只是其信息保存在服务器上(客户机上保存的是SessionID)。Session变量消失有几种可能,如:使用者的浏览器不接受Cookie,因为Session依赖于Cookie才能跟踪用户;Session在一段时间后过期了,缺省为20分钟,如果希望更改,可以通过设置Microsoft Management Console的Web Directory→Properties→Virtual Directory→Application Settings→Configuration→App Options→Session Timeout选项来改变Session的超时时间,也可以在ASP脚本中设定, 如Session.Timeout=60,可设定超时时间为60分钟。 

  问题:怎样才能知道访问者的一些信息? 

  答:通过Request.ServerVariables(″HTTP—USER—AGENT″)获得访问者浏览器的类型; Request.ServerVariables(″REMOTE—ADDR″)可获得访问者的IP地址;而访问者的语言环境可通过Request.ServerVariables(″HTTP—ACCEPT—LANGUAGE″)来获得。 

  问题:怎样才能将Query String从一个ASP文件传送到另一个ASP文件? 

  答:前一个ASP文件加入下列代码:Response.Redirect(″second.asp?″ & Request.ServerVariables(″QUERY—STRING″))即可。 

  问题:ASP中如何控制Cookies? 

  答:若想写入Cookies可用:Response.Cookies(″待写入的Coookies名称″)=待写入数据。读取Cookies则使用:读取数据=Request.Cookies(″待读的Cookies名称″)。 

  注意,写入Cookies的Response.Cookies程序段必须放在〈html〉标记之前,且不可以有任何的其它html代码。另外,Cookies中必须使用Expires设定有效期,Cookies才能真正地写入客户端硬盘中,否则只是临时的。 

  问题:怎样实现用ASP发送邮件? 

  答:用户需装上Windows NT Option pack的SMTP Service功能。实现代码如下:

  〈% 
  Set mail = Server.CreateObject(″CDONTS.NewMail″) 
  mail.TO = ″abc@xxx.com″ 
  mail.From = ″yourmail@xxx.com″ 
  mail.Subject = ″主题″ 
  mail.Body = ″E-Mail内容″ 
  mail.Send 
  %〉 

  问题:ASP与数据库连接一定要在服务器端设置DSN吗? 

  答:不一定, ASP与服务器的数据库连接有两种方法,一种为通过DSN建立连接,另一种不用DSN建立连接。通过DSN连接数据库需要服务器的系统管理员在服务器的控制面板中的ODBC中设置一个DSN。如果没有在服务器上设置DSN,只要知道数据库文件名(比如Access、Paradox、FoxPro的数据库)或者数据源名(如SQLserver的数据库)就可以访问数据库,直接提供连接所需的参数即可。 

  连接代码如下: 

  set conn=server.createobject(″adodb.connection″) 
  connpath=″DBQ=″ & server.mappath(″yourtable.mdb″) 
  conn.Open ″DRIVER={Microsoft Access Driver (.mdb)}; ″ & connpath 
  set rs=conn.execute(″select  from authors″) 

  问题:如何从一页到另一页传递变量? 

  答:用Hidden表单类型来传递变量。 

  〈 form method=″post″ action=″mynextpage.asp″〉 
  〈% for each item in request.form %〉 
  〈input namee=″〈%=item%〉″ type=″Hidden″ 
  value=″〈%=server.HTMLEncode(Request.form(item)) %〉″〉 
  〈% next %〉 
  〈/form〉 

  用Session来保存变量。 

  〈%Session(″bh″)= request.form (″bh″)%〉 

  用QueryString保存变量。 

  〈a herf=″action.asp?bh=10″〉查询〈/a〉 
  〈%Request. QueryString (″bh″)%〉 

  问题:如何用ASP实现在线人数统计? 

  答:在线人数是指一个时段内的访客人数统计,时间的长短是由设计者设定的。 

  在这个时段内,各个不同IP访问本站点的总数,就是当前的线上人数。在ASP中,使用Session对象来实现统计,实现代码如下: 

  Golobal.asa文件 
  〈SCRIPT LANGUAGE=″VBScript″ RUNAT=″Server″〉 
  Sub Session—OnStart 
  application(″online″)=application(″online″)+1 
  End Sub 
  Sub Session—OnEnd 
  application(″online″)=application(″online″)-1 
  End Sub 
  sub Application—OnStard 
  application(″online″)=0 
  End Sub 
  sub Application—OnEnd 
  application(″online″)=0 
  End Sub 
  〈/SCRIPT〉 

  Online.asp 文件内容 
  〈% tmp=application(″online″) 
  tmp=Cstr(tmp) 
  dim disp(20) 
  dim images(20) 
  dbbits=len(tmp) 
  for i= 1 to dbbits 
  disp(i)=left(right(tmp,i),i-(i-1)) 
  next 
  for i=dbbits to 1 step -1 
  images(i)=″〈img src=″&″http://xxxx.com.cn/pic″&″/″&disp(i)&″.gif〉″ 
  response.write ″document.write(′ ″&images(i)&″ ′);″ 
  next %〉 

  问题:ASP程序运行的时间如何计算? 

  答:确定ASP程序的执行时间的代码如下所示: 

  〈% 
  dim t1,t2 
  t1=now() 
  ′被检测的ASP代码 
  t2=now() 
  response.write ″运行这段ASP代码用了″&cstr(cdbl((t2-t1)*24*60*60)) & ″秒″ 
  %〉  

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本