Я пытаюсь создать код сеанса для каждого клиента на моем сайте.В Session_Start глобального asax у меня есть этот код:
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).И в последнее время даже хуже, чем та: я использовал коды 1 и 2. Я перестаю использовать сервер (оставляя IIS без активности).После почти 1 часа (50 минут) я попробовал еще раз.Код, который IIS дал мне, был 2 (на другом компьютере, чем последний код 2).
Пожалуйста, я бы очень признателен за любую помощь с этим.