gpt4 book ai didi

c# - 变量变为空

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:55 25 4
gpt4 key购买 nike

我的 DataEntityLayer 中有一些变量,例如对所有用户都是通用的

public class DataEntityLayer : System.Web.UI.Page
{
public string UserName
{
get
{
if (Session["UserName"] == null)
{
GotoLoginPage();
return null;
}
else
return Session["UserName"].ToString();
}

set { Session["UserName"] = value; }
}
}

我使用此变量在用户登录时显示用户名,这工作正常但经常变为空值。我怎样才能避免这种情况,或者让我知道一种在我的层中声明变量以在用户登录时显示用户名的方法。

最佳答案

session 是在定义的时间后过期的临时内存,我相信默认值为 20 分钟不活动。

也可能是因为您使用了多个具有负载平衡的服务器。除非 session 保存在数据库中,否则当您从一台服务器移动到另一台服务器时, session 会丢失。

出于上述原因,我建议避免使用这种方法。有更好、更安全的方法来处理身份验证。

P.S 一个名为 DataEntityLayer 的对象不应该派生自 System.Web.UI.Page!!

关于c# - 变量变为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771390/

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