因胸联盟 发表于 2015-1-16 22:28:14

ASP网页编程之用ASP统计用户在站点的停止工夫(1)

无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;固然一般利用的点击注册手艺能够盘算出你的Web站点失掉几点击,可是,假如可以晓得会见者在站点上停止了多长工夫就更好了。假如有上千人点击并翻开了你的主页,但他们却在大度的“接待”图形完整下载之前就已跑到其余站点
往了,如许,你所花在建立和保护站点上的投资就没有失掉很好的报答。

  有两种很好的办法用来纪录用户在你的站点上消费了几工夫。第一个是利用基于ASP服务器的sessions,第二是经由过程坚持客户机端cookies。要记着,利用sessions将给服务器的处置事情增添负荷,可是它们的确供应了最简便的办法。另有一点要注重,那就是假如用户真个扫瞄器不克不及撑持cookie功效,那末这两种办法都不克不及事情。

  

ASPSession手艺
  利用ASPSession是请求你把这个session入手下手确当前工夫保留成谁人用户的session级别变量,这将要用到你的站点或假造路径下的global.asa文件中的Session_onStart事务句柄。然后,在Session_onEnd事务句柄中,你就能够盘算出session延续的工夫,并将这个了局写到日记文件或数据库中。在这里的例子中利用了日记文件:

<scriptlanguage="VBScript"runat="server">

SubSession_onStart()

savethetimethatthesessionstarted

Session("StartTime")=Now()

EndSub



SubSession_onEnd()

getthetimethattheuserlastloadedapage

assumesthedefaultsessiontimeoutof20minutes



OnErrorResumeNext



setpathandnameoflogfiletobecreated

edittosuityourownmachinedirectorylayout

remembertogivethedirectoryWriteorFull

ControlpermissionfortheIUSR_machineaccount

strFileName="C:Tempvisit_lengths.txt"

datStartTime=Session("StartTime")

datEndTime=DateAdd("n",-20,Now())

intMinutes=DateDiff("n",datStartTime,datEndTime)

IfintMinutes>0Then

  gotavalidtimesoaddittothelogfile

  strInfo="Visitendingat"&datEndTime_

    &"lastedfor"&intMinutes&"minute(s)."

  addusernametothelogentrystringhereifrequired

  strInfo=strInfo&"Username:"&strUserName

  SetobjFileObject=Server.CreateObject("Scripting.FileSystemObject")

  opentextfiletoappenddata(theForAppendingconstant=8)

  SetobjFile=objFileObject.OpenTextFile(strFileName,8,True)

  objFile.WriteLinestrInfo

  objFile.Close

EndIf

EndSub

</script>

  你能够看到,当session停止时,我们从以后工夫中减往了session的timeout的数值,假如思索到用户装载最初一页时所消费的工夫,减往的值能够略微小一点。这个数目由你往猜,由于用这个手艺其实不能测出实践值。

  注重,假如你在任何页面中利用了ASP的Session.Abandon办法,就不克不及失掉准确的了局。由于这类办法当即中止session,如许,从实践工夫中减往session长度就会给出一个不准确的会见工夫(偶然候乃至是正数)。更糟的是,在ASP2.0版本中,这类办法还常常完全不克不及启动Session_OnEnd事务。

  在某些站点上利用一种“中断服务器操纵”的链接来启动Session.Abandon办法,可是依据履历,很少有效户会往点击它。他们只是转到另外一个站点,让session自行中止。

  这是我们从日记文件中失掉的一些纪录:

  Visitendingat6/5/001:05:26AMlastedfor2minute(s).

  Visitendingat6/5/001:06:14AMlastedfor47minute(s).

  Visitendingat6/5/001:12:18AMlastedfor22minute(s).

  Visitendingat6/5/001:29:54AMlastedfor9minute(s).

  假如用户会见的工夫少于1分钟(好比说,他们的session入手下手后过了1分钟还没能装载另外一页),用我们的代码就不显现在列表中。从全部session长度中减往这个session的timeout,就会失掉0,在这一点我们的代码就将其舍弃:

  IfintMinutes>0Then?

  固然你能够修正代码以顺应本人的必要。

  注重:要记着session停止后才入手下手写日记文件的条目。你不克不及立即看到它们。假如想试着更快地看到了局,能够在页面上修正Session.Timeout的属性。

  

在数据库中纪录了局
  要将盘算的了局纪录数据库中而不是日记文件中,能够创立一个得当的SQLINSERT声明,实行它来更新一个你已供应的数据库表:

...

strSQL="INSERTINTOYourTable(UserName,SessionEnd,"_

&"SessionLength)VALUES("&strUserName&",#"_

&datEndTime&"#,"&intMinutes&")"

SetoConn=Server.CreateObject("ADODB.Connection")

oConn.open"DSN=yourdsn;UID=username;PWD=password;"

oConn.ExecutestrSQL

SetoConn=Nothing

...

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.

飘灵儿 发表于 2015-1-19 13:46:29

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

谁可相欹 发表于 2015-1-19 13:46:29

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

变相怪杰 发表于 2015-1-25 22:59:26

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

不帅 发表于 2015-2-4 12:17:39

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

因胸联盟 发表于 2015-2-9 22:35:18

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

小女巫 发表于 2015-2-28 02:51:19

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

再见西城 发表于 2015-3-9 19:44:17

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

仓酷云 发表于 2015-3-17 01:07:55

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

灵魂腐蚀 发表于 2015-3-17 01:07:58

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

深爱那片海 发表于 2015-3-23 11:30:21

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
页: [1]
查看完整版本: ASP网页编程之用ASP统计用户在站点的停止工夫(1)