インターネットでキャッシュを使用してユーザーがログインしたかどうかを判断できることを見たことがありますが、これは非常に優れているようです。実験後、
ここで共有するコードの原則は比較的単純です。
指定された顧客ログイン文字列がキャッシュにすでに存在するかどうかを確認し、存在しない場合は追加し、キャッシュ内での保存時間を指定します。繰り返しログインしている場合は、キャッシュ値が空かどうかでユーザーが繰り返しログインしているかどうかを判断できます。
//キーを生成する
文字列 sKey = TextBox1.Text + "_IsLogin";
// キャッシュ内の指定されたキーの値を取得します
string sUser = Convert.ToString(Cache[sKey]);
// 存在するかどうかを確認します。
if (sUser == null || sUser == String.Empty)
{
// キャッシュ内にこのキーの項目がありません。これは、ユーザーがログインしていないか、ログインがタイムアウトしたことを示しています。
//TimeSpan は時間間隔を表し、セッション タイムアウトのシステム設定値を取得します。
//TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//(ユーザーの再ログインに許可される時間がセッションタイムアウトよりも短いと考えられる場合、この値はより小さく設定できます。この例では1分に設定されています)
タイムスパン SessTimeOut = 新しいタイムスパン(0, 0, 1, 0, 0);
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable、null);
//初回ログイン後は、やりたい作業を行うことができます。
Label1.Text = "こんにちは! ようこそ";
}
それ以外
{
//ユーザーのレコードがキャッシュに見つかりました。テーブル名はすでにログインされています。再ログインは禁止されています。
Label1.Text = "申し訳ありませんが、別の場所でログインしています。または、1 分後にもう一度お試しください。";
戻る;
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html