我正在尝试为我的网站上的每个客户端创建一个会话代码。在全球ASAX的在session_start我有这样的代码:ASP.NET会话标识符
private static long codSesion = 0;
private static object codSesionLocker = new object();
protected void Session_Start(object sender, EventArgs e)
{
if (Session["CodSesion"] == null)
{
lock (codSesionLocker)
{
if (Session["CodSesion"] == null)
{
if (codSesion == 9999)
codSesion = 0;
codSesion++;
Session["CodSesion"] = codSesion;
}
}
}
}
当监控这似乎是完美的。经过一段时间的不活动开始出现问题。发生的一件事情是,从1开始的次数太多(没有达到9999且没有IIS回扣)。最近,甚至比taht还糟糕:我使用了代码1和2.我停止使用服务器(使IIS无活动)。将近1小时后(50分钟),我再次尝试。 IIS给我的代码是2(与上一代码2不同)。
请我真的会对此有所帮助。
您是否有任何代码可以根据您的请求实际访问会话? – Restuta 2010-12-14 14:35:51
顺便说一句,为什么你不这样做? http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx – Restuta 2010-12-14 14:37:22
你到底想达到什么目的?会话已经一个id:SessionID的... – 2010-12-14 14:37:51