Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NET中查找所有用户的会话状态_Asp.net_Session - Fatal编程技术网

在ASP.NET中查找所有用户的会话状态

在ASP.NET中查找所有用户的会话状态,asp.net,session,Asp.net,Session,我使用VS2010,C#来开发ASP.NET web应用程序,我在我的应用程序中创建了一些会话,是否有任何方法可以了解所有用户的会话?我认为这应该是可能的,因为会话是由服务器代码创建的,我想知道所有用户的会话状态,例如,我想知道我在每个时刻有多少在线用户(通过查看会话[“userid”]),有没有办法解决这个问题 谢谢您无法访问除您自己以外的所有其他用户的会话 你也有一个会议 您可以将一些数据写入应用程序对象或缓存对象 这样,无论用户是谁,您都可以从每个请求访问该会话。您不能访问除您自己用户以外

我使用VS2010,C#来开发ASP.NET web应用程序,我在我的应用程序中创建了一些会话,是否有任何方法可以了解所有用户的会话?我认为这应该是可能的,因为会话是由服务器代码创建的,我想知道所有用户的会话状态,例如,我想知道我在每个时刻有多少在线用户(通过查看会话[“userid”]),有没有办法解决这个问题


谢谢

无法访问除您自己以外的所有其他用户的会话

你也有一个会议

您可以将一些数据写入
应用程序
对象或
缓存
对象


这样,无论用户是谁,您都可以从每个请求访问该会话。

您不能访问除您自己用户以外的所有其他用户的会话

你也有一个会议

您可以将一些数据写入
应用程序
对象或
缓存
对象

这样,无论用户是谁,您都可以从每个请求访问它

无法访问所有其他用户的会话。你是 允许访问您自己的会话对象,而不是其他会话对象

但您可以使用应用程序对象和其他方法来实现它

参考:

处理global.asax文件中的应用程序事件:

//When application start first time set onilne user to 0
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

Application("OnlineUsers") = 0

End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

Application.Lock()
Application("OnlineUsers") = CInt(Application("OnlineUsers")) + 1

Application.UnLock()

End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)

Application.Lock()
Application("OnlineUsers") = CInt(Application("OnlineUsers")) - 1

Application.UnLock()

End Sub
其他实现方法参考:

无法访问所有其他用户的会话。你是 允许访问您自己的会话对象,而不是其他会话对象

但您可以使用应用程序对象和其他方法来实现它

参考:

处理global.asax文件中的应用程序事件:

//When application start first time set onilne user to 0
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

Application("OnlineUsers") = 0

End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

Application.Lock()
Application("OnlineUsers") = CInt(Application("OnlineUsers")) + 1

Application.UnLock()

End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)

Application.Lock()
Application("OnlineUsers") = CInt(Application("OnlineUsers")) - 1

Application.UnLock()

End Sub
其他实现方法参考:


如果您需要访问会话,我强烈建议使用会话状态模式作为SQLServer。
然后,您可以非常轻松地访问存储所有会话的sqlServer表。

如果您需要访问会话,我强烈建议使用会话状态模式作为sqlServer。
然后,您可以非常轻松地访问存储所有会话的sqlServer表。

您可以随时随地访问所有会话状态,只需创建一个HttpSessionState集合并将其保存到应用程序状态。。。启动会话时,将其添加到集合中

示例:
应用程序(“SessionCollection”).Add(Session)

因此,您可以访问任何会话状态(您可以实现会话查找功能以简化任务)

您可以在集合中实现一个计时器,该计时器将检查所有会话状态并删除死区


它适用于ASP.Net的每个版本

您可以从任何地方访问所有会话状态,只需创建一个HttpSessionState集合并将其保存到应用程序状态。。。启动会话时,将其添加到集合中

示例:
应用程序(“SessionCollection”).Add(Session)

因此,您可以访问任何会话状态(您可以实现会话查找功能以简化任务)

您可以在集合中实现一个计时器,该计时器将检查所有会话状态并删除死区


它适用于ASP.Net的每个版本

哦,谢谢,请您提供一些关于应用程序对象或缓存对象的指导?我如何使用它们?哦,谢谢,请您给我一些关于应用程序对象或缓存对象的指导好吗?我如何与他们合作?