加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

限制访问asp.net网站的用户数量

发布时间:2020-12-16 06:41:05 所属栏目:asp.Net 来源:网络整理
导读:限制访问Web应用程序的(并发)用户数量的最佳方法是什么,任何人都可以将其用于向客户销售网站/应用程序以及如何增加远程访问它的用户数量? 解决方法 如果您使用进程内会话状态管理,则可以使用 HttpApplicationState类,方法是引入Global.asax文件并在后面的代
限制访问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()以有效地终止当前会话,因此它不会计入限制.你必须自己弄清楚其余部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读