Я видел в Интернете, что с помощью Cache можно определить, вошел ли пользователь в систему, что кажется довольно хорошим. После эксперимента
принцип кода, представленный здесь, стал относительно простым:
Определите, существует ли указанная строка входа клиента в кеше. Если нет, добавьте ее и укажите время ее хранения в кеше. При повторном входе в систему вы можете определить, входил ли пользователь в систему неоднократно, проверив, пусто ли значение кэша.
//Сгенерировать ключ
строка sKey = TextBox1.Text + «_IsLogin»;
//Получаем значение данного ключа в кеше
string sUser = Convert.ToString(Cache[sKey]);
//Проверяем, существует ли он
if (sUser == null || sUser == String.Empty)
{
//В кэше нет элемента для этого ключа, что указывает на то, что пользователь не вошел в систему или время входа в систему истекло.
//TimeSpan представляет временной интервал и получает значение системной настройки для тайм-аута сеанса.
//TimeSpan SessTimeOut = новый TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//(Если считается, что время, отведенное пользователю на повторный вход в систему, меньше таймаута сеанса, это значение можно установить меньше, в данном примере оно установлено на одну минуту)
TimeSpan SessTimeOut = новый TimeSpan (0, 0, 1, 0, 0);
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable, ноль);
//После первого входа в систему вы можете выполнять любую работу, которую хотите.
Label1.Text = "Привет! Добро пожаловать";
}
еще
{
//Запись пользователя найдена в Кэше. Имя таблицы уже выполнено. Повторный вход запрещен.
Label1.Text = "К сожалению, вы вошли в систему где-то еще. Или повторите попытку через 1 минуту";
возвращаться;
}
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html