C#最后请求时间

时间:2010-02-25 16:14:03

标签: c# asp.net datetime session timeout

我在C#/ ASP.NET环境中。

我有一个Web应用程序,其中有一系列用户登录 - 我有一个主用户需要知道所有其他登录用户的最后一次访问页面(即发出Http请求)。我可以通过Application变量通过一组会话变量获得所有用户的列表 - 但是我无法从中获得更多其他...

我知道我可以通过Application变量创建一堆会话变量,或者在单个Application / Session变量中创建一个哈希表并根据需要进行维护 - 但我觉得应该有一种方法来询问应用程序或某些其他对象是目标会话的最后一次请求的时间。无论如何,服务器应该跟踪这个超时时间......

这个迷你系统的目的是让我们可以看到活跃的用户和他们超时的大致时间,这样我们就可以衡量将网站用于更新/维修的效果。

任何帮助/见解都将不胜感激。

1 个答案:

答案 0 :(得分:1)

所以我猜有两种类型的停机时间,计划外和计划。

如果有一个错误导致您的公司亏损并且需要修复,无论当前系统中有多少用户,都会发生计划外停机。有一个系统可以告诉你活跃用户的数量,因为它无关紧要。

计划停机时间是修复非显示停止错误和添加功能的正常过程的一部分。在这种情况下我要做的是分析用户趋势,以确定活跃用户的数量处于最低的时间。这样可以最大限度地减少对用户的干扰。我将采用的方式是上个月的IIS日志,并在LogParser中创建一个查询,该查询按照每天的时间按请求数量排序,按升序排列总请求数。 Jeff Attwood关于如何使用它有a nice post

编辑:我通过另一个stackoverflow帖子遇到了this on codeproject。看起来它可能就是你所追求的。此外,如果您正在使用成员资格提供程序,则可以使用GetNumberOfUsersOnline方法。