내 사이트의 각 클라이언트에 대한 세션 코드를 만들려고합니다. 전역 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와 다른 PC에서).
제발 내가 정말 이걸로 apreciate 줄께.
작성한 요청에 따라 실제로 세션에 액세스하는 코드가 있습니까? – Restuta
그리고 BTW, 왜 안 괜찮아? http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx – Restuta
달성하려는 것은 무엇입니까? 세션에는 이미 ID가 있습니다. SessionID ... –