经典ASP:如何列出激活的会话?
这里是一个很好的文章,显示的方式做到这一点:Active User Count Without Global.asa by Josh Painter
我想你必须改变一些细节,但是这是你能解决这个问题的方式。作者不使用global.asa。
一个更简单的方法是,将全局.asa中的Sesssion_OnStart
和Session_OnEnd
事件挂接,并从作为应用程序变量实现的会话列表中添加/删除项目。
如果你只是想在计数会议,你可以简单地做这种方式:
Sub Session_OnStart
Application.Lock
Application("count") = Application("count") + 1
Application.Unlock
End Sub
Sub Session_OnEnd
Application.Lock
Application("count") = Application("count") - 1
If Application("count") < 0 then ' Could only happen if some other function interfers
Application("count")=0
End If
Application.Unlock
End Sub
在你的ASP文件
<%
Response.Write "There are currently " & Application("count") & "active sessions>"
%>
找不到404页面。也许添加信息或在archive.org中找到它? – 2015-06-10 15:07:24
您不能从另一个访问一个会话,所以没有内置的方法来获取所有活动会话的列表。但是,您可以在global.asa中使用Session_OnStart
和Session_OnEnd
通过将相关会话信息保存到Application
对象,日志文件,数据库等(取决于您对信息的确切操作)来跟踪会话。
我们倾向于跟踪Application
对象中活动会话的数量,以便大致了解在特定时间有多少人正在使用网站(当然,请记住,人们通常会离开该网站很久之前他们的会议超时)。这不是100%准确,但足够接近当前活动的指南。
如果您只想要会话数,您还可以使用Perfmon跟踪Active Server Pages
性能对象的Sessions Current
计数器(和其他相关计数器)。显然,这假定访问服务器,可能不是你想要的在这种情况下。
有关某些选项的详细信息,请尝试以下文章:How do I count the number of current users/sessions?(存档版本)
该链接不起作用(转到着陆页)。 – 2015-06-10 15:07:47
你有服务器的控制权?我只问,因为如果你有选择,你会发现走这条路很容易。 – AnonJr 2009-02-04 12:50:25