如果我需要所有会话,网站上的所有用户重新初始化自己,或者可能所有用户都被放弃,以便他们重新初始化自己,除了重新启动www服务之外该怎么办呢?
非常感谢!
答案 0 :(得分:2)
使用开箱即用的代码,你无法真正做到这一点。
我能想到的一种方法是将所有Sessions存储在全局上下文中,然后遍历此集合:添加到Session_Start
中的集合并在Session_End
中删除。
例如:
void Session_Start()
{
if (HttpContext.Current.Cache["Sessions"] == null)
HttpContext.Current.Cache["Sessions"] = new List<HttpSessionState>();
(HttpContext.Current.Cache["Sessions"] as List<HttpSessionState>).Add(HttpContext.Current.Session);
}
void Session_End()
{
if (HttpContext.Current.Cache["Sessions"] != null)
(HttpContext.Current.Cache["Sessions"] as List<HttpSessionState>).Remove(HttpContext.Current.Session);
}
答案 1 :(得分:1)
我找到了一种解决方案 - 而不是重新启动WWW服务以实现所有sesssions结果的重置,您可以使用IIS管理器重新循环应用程序轮询。只是更快,并做我想要它做的事情。
很抱歉,如果这对某些人来说听起来微不足道:)