日期:2013-07-11  浏览次数:20968 次


下面是global.asa的内容:

Sub Application_OnStart
' Delete all saved session information, in case of a crash
set objADO = Server.CreateObject("ADODB.Connection")
sDatabasePath = Server.MapPath("/databases")
sConnection
= "filedsn="&sDatabasePath&"\readwrite.dsn;DBQ="&sDatabasePath&"\sessi
ons.mdb;"
objADO.Open(sConnection)

sUpdateCmd = "delete * from session;"
objADO.Execute(sUpdateCmd)
' Close the database down again
objADO.close
set objADO=Nothing

' Now store the DSN connection string away, so we don't have to look
it up again
Application("sessionDSN") = sConnection

End Sub

Sub Session_OnStart

' Write the session information away into the session database
set session_objADO = Server.CreateObject("ADODB.Connection")
session_objADO.Open(Application("sessionDSN"))
session_sUpdateCmd = "insert into session values
("&Session.SessionID&","
session_sUpdateCmd = session_sUpdateCmd & "'"&Request.ServerVariables
("REMOTE_ADDR")& "',"
session_sUpdateCmd = session_sUpdateCmd & "'"&Request.ServerVariables
("HTTP_USER_AGENT")&"');"
session_objADO.Execute(session_sUpdateCmd)
' Close the database down again
session_objADO.close
set session_objADO=Nothing

End Sub

Sub Session_OnEnd

' Delete the session information from the session database
set session_objADO = Server.CreateObject("ADODB.Connection")
session_sConnection = Application("sessionDSN")
session_objADO.Open(session_sConnection)
session_sUpdateCmd = "delete * from session where
SessionID="&Session.SessionID&";"
session_objADO.Execute(session_sUpdateCmd)
' Close the database down again
session_objADO.close
set session_objADO=Nothing

End Sub

下面是实现功能的一个例子:

<% OPTION EXPLICIT

' currentusers.asp V1.0
' Copyright 1998/99 Bann Consultants barryd@bann.co.uk
' Created 03/11/98 Modified 03/11/98
' On-line documentation at http://www.bann.co.uk/asp/
'
' COPYRIGHT NOTICE
' Copyright 1998-1999 Barry Dorrans All Rights Reserved.
'
' CurrentUsers may be used and modified free of charge by anyone so
long
' as this copyright notice and the comments above remain intact. By
using
' this code you agree to indemnify Barry Dorrans from any liability
that
' might arise from its use.
'
' Selling the code for this program without prior written consent is
' expressly forbidden. In other words, please ask first before you
try and
' make money off of my program.
'
' Obtain permission before redistributing this software over the
Internet or
' in any other medium. In all cases copyright and header must remain
intact
%>
<html>
<title>Current User report</title>
<body bgcolor="#fffaf0">

<h1> Current User Report </h1>

<br>
<table border=0>
<tr><td><p><b>Remote Host</b></td>
<td><p><b>Browser</b></td></tr>
<%

DIM objADO, sDatabasePath, sConnection, sessionRecords
DIM userCount

userCount = 0

SET objADO = Server.CreateObject("ADODB.Connection")
sDatabasePath = Server.MapPath("/databases")
sConnection
= "filedsn="&sDatabasePath&"\readonly.dsn;DBQ="&sDatabasePath&"\sessio
ns.mdb;"
objADO.Open(sConnection)

SET sessionRecords = objADO.execute("select * from session;")

DO WHILE NOT sessionRecords.EOF
userCount = userCount