我无法在每个站点所在的同一会话中从一个“站点”浏览到另一个站点
创建了不同的会话。
但我非常感谢你,因为你让我知道如何解决这个问题
这就是我所做的:我用字典“onlineList”创建了计数器类,如果我为每个站点自动创建一个键:
public abstract class counter{
public static Dictionary<string, int> onlineList = new Dictionary<string, int>();
//do add one count
public static void doSiteCountOn(string siteID)
{
if (onlineList.ContainsKey(siteID))
{
onlineList[siteID] += 1;
}
else
{
onlineList.Add(siteID, 1);
}
}
//do less one count
public static void doSiteCountOff(string siteID)
{
if (onlineList.ContainsKey(siteID))
{
onlineList[siteID] -= 1;
}
else
{
onlineList.Add(siteID, 0);
}
}
//get the count
public static string onlineCount(string siteID)
{
if (onlineList.ContainsKey(siteID))
{
return onlineList[siteID].ToString();
}
else
{
return "0";
}
}
//reset the count if needed
public static void resetCount(string siteID)
{
if (onlineList.ContainsKey(siteID))
{
onlineList[siteID] = 0;
}
}}
在我的基本页面上,我检查是否有 Session["siteID"],如果没有,我启动一个并让我的计数器类将 1 添加到站点计数器:
if (Session["siteID"] == null){
Session["siteID"] = _siteID;
counter.doSiteCountOn(_siteID);}
最后在我的 Session_End 上我少做一个:
void Session_End(object sender, EventArgs e){
if (Session["siteID"] != null)
{
counter.doSiteCountOff(Session["siteID"].ToString());
}}
感谢您的暂停,并对我迟到的回复感到抱歉
鸡南