gpt4 book ai didi

asp.net - 列出所有事件的 ASP.NET session

转载 作者:行者123 更新时间:2023-12-03 06:39:26 29 4
gpt4 key购买 nike

如何列出(并迭代)所有当前 ASP.NET session ?

最佳答案

您可以在 global.asax 事件 Session_Start 和 Session_End 中收集有关 session 的数据(仅在进程内设置中):

private static readonly List<string> _sessions = new List<string>();
private static readonly object padlock = new object();

public static List<string> Sessions
{
get
{
return _sessions;
}
}

protected void Session_Start(object sender, EventArgs e)
{
lock (padlock)
{
_sessions.Add(Session.SessionID);
}
}
protected void Session_End(object sender, EventArgs e)
{
lock (padlock)
{
_sessions.Remove(Session.SessionID);
}
}

您应该考虑使用一些并发集合来降低同步开销。 ConcurrentBag 或 ConcurrentDictionary。或者不可变列表

https://msdn.microsoft.com/en-us/library/dd997373(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/dn467185.aspx

关于asp.net - 列出所有事件的 ASP.NET session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470334/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com