asp.net
To prevent the same user from landing at the same time, the home page should record the information of the online user (here with the user name for example), and then determine whether the user is logged in. Here you use a cache to store the user name you have logged in. But there is also the question of knowing when users are leaving the system. This is to periodically clear the contents of the cache, that is, set a cache time. This time can be associated with the user's session value. When the user session value is invalidated, the user's information in the cache is also emptied. This is achieved to prevent the simultaneous landing effect, the specific code is as follows:
Put it where the landing was successful.
string key = textbox1.text; //user name text box set to cache keyword
string uer = Convert.ToString (Cache[key]); //Read the user's corresponding value in Cache
//To determine if there is a user's information in cache, if there is no relevant value, the user did not login
if (Uer = null | | uer = = String.Empty)
{
Define cache Expiration Time
TimeSpan sesstimeout = new TimeSpan (0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Insert a user-related cache value on the first landing
HttpContext.Current.Cache.Insert (key, key, NULL, DateTime.MaxValue, Sesstimeout, System.Web.Caching.CacheItemPriority.NotRemovable, NULL);
session["Adminid"] = TextBox1.Text;
Response.Redirect ("main.aspx");
}
Else
{
Repeat Login
Response.Write (' Your account has landed! ') ("<script>alert"); window.location= ' login.aspx ';</script> ");
}