我怎样才能只允许一位访问者访问该页面

时间:2012-10-20 06:15:49

标签: c# asp.net

我有一个页面调用“A”Asp.Net,我想只允许一个用户访问该页面。如果没有人访问该页面,则允许任何用户访问该页面             不使用数据库我怎么能这样做。             我试图使用c#的页面加载和javascript的窗口onbeforeunload事件,但没有得到它。

<script type="text/javascript" language="JavaScript">
        var hidViewstate;

        window.onload = body_Load;
        window.onbeforeunload = WindowCloseHanlder;

        function body_Load()
        {
            hidViewstate = document.getElementById('<%=hidViewstate.ClientID %>');
        }

        function WindowCloseHanlder()
        {
            hidViewstate.value = parseFloat(hidViewstate.value - 1);
        }

    </script>

<div>
        <asp:Label ID="lblText" runat="server" Text="Label"></asp:Label>
        <asp:HiddenField ID="hidViewstate" runat="server" />
    </div>

protected void Page_Load(object sender, EventArgs e)
    {
        hidViewstate.Value = "1";

        if(Convert.ToInt32(hidViewstate.Value) == 1)
        {
            lblText.Text = "Welcome First User";
        }
        else
        {       
            lblText.Text = "Visiting on this page is not allowed because user is already login.";

        }

    }

2 个答案:

答案 0 :(得分:0)

这与网络服务器的运作方式背道而驰。了解导致您尝试此操作的实际问题会很有趣。

在技术方面,您可以在Application中存储全局变量。所有请求共享相同的全局对象。

但是如果你向我们解释了你想要解决的真正问题,我想你会发现这不是一个好方法,我相信我们可以建议一个真正的解决方案。

答案 1 :(得分:0)

您可以使用全局变量,例如静态类的静态变量

在页面加载时你可以检查

if(clsGlobal.userCount > 1)
{
Response.Redirect("~/anotherPage.aspx") // somewhere you want..
}
else
{
//display your welcome message
}