Ich habe im Internet gesehen, dass Cache verwendet werden kann, um festzustellen, ob sich der Benutzer angemeldet hat, was ziemlich gut zu sein scheint. Nach dem Experiment
ist das hier geteilte Codeprinzip relativ einfach:
Stellen Sie fest, ob die angegebene Kundenanmeldezeichenfolge bereits im Cache vorhanden ist. Wenn nicht, fügen Sie sie hinzu und geben Sie ihre Speicherzeit im Cache an. Wenn Sie sich wiederholt anmelden, können Sie feststellen, ob sich der Benutzer wiederholt angemeldet hat, indem Sie beurteilen, ob der Cache-Wert leer ist.
//Schlüssel generieren
string sKey = TextBox1.Text + "_IsLogin";
//Den Wert des angegebenen Schlüssels im Cache abrufen
string sUser = Convert.ToString(Cache[sKey]);
//Überprüfen Sie, ob es existiert
if (sUser == null || sUser == String.Empty)
{
//Es gibt kein Element für diesen Schlüssel im Cache, was darauf hinweist, dass der Benutzer nicht angemeldet ist oder die Anmeldung abgelaufen ist.
//TimeSpan stellt ein Zeitintervall dar und ruft den Systemeinstellungswert für das Sitzungszeitlimit ab.
//TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//(Wenn davon ausgegangen wird, dass die Zeit, die dem Benutzer für die erneute Anmeldung zur Verfügung steht, kürzer als das Sitzungszeitlimit ist, kann dieser Wert kleiner eingestellt werden, in diesem Beispiel ist er auf eine Minute eingestellt)
TimeSpan SessTimeOut = new TimeSpan(0, 0, 1, 0, 0);
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable, null);
//Nachdem Sie sich zum ersten Mal angemeldet haben, können Sie die Arbeit erledigen, die Sie erledigen möchten.
Label1.Text = "Hallo! Willkommen";
}
anders
{
//Der Datensatz des Benutzers wurde im Cache gefunden. Der Tabellenname wurde bereits angemeldet. Eine erneute Anmeldung ist verboten.
Label1.Text = „Entschuldigung, Sie haben sich woanders angemeldet. Oder versuchen Sie es in 1 Minute erneut“;
zurückkehren;
}
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html