限制访问Web应用程序的(并发)用户数量的最佳方法是什么,任何人都可以将其用于向客户销售网站/应用程序以及如何增加远程访问它的用户数量?
如果使用进程内会话状态管理,则可以使用HttpApplicationState类,方法是引入Global.asax文件并在后面的代码中放置类似的内容:
void Application_Start(object sender, EventArgs e) { Application["ActiveSessions"] = 0; } void Session_Start(object sender, EventArgs e) { try { Application.Lock(); int activeSessions = (int) Application["ActiveSessions"] + 1; int allowedSessions = 10; // retrieve the threshold here instead Application["ActiveSessions"] = activeSessions; if (activeSessions > allowedSessions) System.Web.HttpContext.Current.Response.Redirect("~/UserLimitReached.aspx", false); } finally { Application.UnLock(); } } void Session_End(object sender, EventArgs e) { Application.Lock(); Application["ActiveSessions"] = (int)Application["ActiveSessions"] - 1; Application.UnLock(); }
然后,在UserLimitReached.aspx中,您将调用HttpSession.Abandon()以有效地终止当前会话,因此它不会计入限制.你必须自己弄清楚其余部分.:)