gpt4 book ai didi

c# - 我应该在 asp.net 中声明一个 session 变量的地方

转载 作者:太空狗 更新时间:2023-10-29 19:52:46 26 4
gpt4 key购买 nike

我正在构建一个 Asp.net 应用程序。我需要在 session 中保存一个 HashTable。

在页面加载时我正在写

 protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["AttemptCount"]=new Hashtable(); //Because of this line.
}
}

这里的问题是,当用户刷新页面时,session["AttemptCount"] 也会刷新。我想知道我应该在哪里申报

Session["AttemptCount"]=new Hashtable();

这样我的视线就不会刷新。

编辑 在 Global.asax 中,只要用户打开网站,该 session 就会开始。我只想在用户转到特定页面时创建此 session 。即登录.aspx

最佳答案

在您的 Global.asax 中的 Session_Start 方法中执行此操作像这样...

protected void Session_Start(object sender, EventArgs e)
{
Session["AttemptCount"]=new Hashtable();
}

更新:

然后简单地检查 session 变量是否存在,如果不存在则创建变量。你可以把它贴在一个属性中,让事情变得更干净......

public Hashtable AttemptCount
{
get
{
if (Session["AttemptCount"] == null)
Session["AttemptCount"]=new Hashtable();
return Session["AttemptCount"];
}
}

然后您可以在任何需要的地方调用属性 AttemptCount ...

public void doEvent(object sender, EventArgs e)
{
AttemptCount.Add("Key1", "Value1");
}

关于c# - 我应该在 asp.net 中声明一个 session 变量的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com