Saya melihat di Internet bahwa Cache dapat digunakan untuk menentukan apakah pengguna telah login, dan sepertinya cukup bagus. Setelah percobaan,
prinsip kode yang dibagikan di sini relatif sederhana:
Tentukan apakah string login pelanggan yang ditentukan sudah ada di cache. Jika belum, tambahkan dan tentukan waktu penyimpanannya di cache. Saat login berulang kali, Anda dapat menentukan apakah pengguna telah login berulang kali dengan menilai apakah nilai cache kosong.
//Buat Kunci
string sKey = TextBox1.Text + "_IsLogin";
//Dapatkan nilai Kunci yang diberikan di Cache
string sUser = Convert.ToString(Cache[sKey]);
//Periksa apakah ada
if (sUser == null || sUser == String.Kosong)
{
//Tidak ada item untuk Kunci ini di Cache, yang menunjukkan bahwa pengguna belum login, atau waktu login telah habis.
//TimeSpan mewakili interval waktu dan memperoleh nilai pengaturan sistem untuk waktu tunggu sesi.
//TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//(Jika dianggap waktu yang diperbolehkan bagi pengguna untuk login kembali kurang dari batas waktu sesi, nilai ini dapat diatur lebih kecil, dalam contoh ini diatur menjadi satu menit)
Rentang Waktu SessTimeOut = Rentang Waktu baru(0, 0, 1, 0, 0);
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable, null);
//Setelah login pertama kali, Anda dapat melakukan pekerjaan yang ingin Anda lakukan.
Label1.Teks = "Halo! Selamat Datang";
}
kalau tidak
{
//Record pengguna ditemukan di Cache. Nama tabel sudah login. Dilarang login lagi.
Label1.Text = "Maaf, Anda telah login di tempat lain. Atau coba lagi dalam 1 menit";
kembali;
}
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html