限制访问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();
}
Run Code Online (Sandbox Code Playgroud)
然后,在UserLimitReached.aspx中,您将调用HttpSession.Abandon()以有效地终止当前会话,因此它不会计入限制.你必须自己弄清楚其余部分.:)
| 归档时间: |
|
| 查看次数: |
7373 次 |
| 最近记录: |