Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 会话状态是否适合我的情况?_C#_Asp.net_Session - Fatal编程技术网

C# 会话状态是否适合我的情况?

C# 会话状态是否适合我的情况?,c#,asp.net,session,C#,Asp.net,Session,我正在做一个项目与2个不同的模块,这是管理和客户。这里是客户模块中的混乱,在客户模块中,我要做的是在客户模块的每个页面中维护客户ID。这意味着客户模块有不同的报表、条目表等。 如果客户已登录,我希望在每个页面中显示姓名。在报告部分,我只希望显示已登录客户的相关数据。 在每个报告中,我只想显示已登录客户详细信息的相关数据。 所以我选择在每个页面中使用会话状态。这是一个好方法吗?我做得对吗?我在每次页面加载中都使用会话?有没有最好的选择?指引我 我的代码示例 //Check weather sess

我正在做一个项目与2个不同的模块,这是管理和客户。这里是客户模块中的混乱,在客户模块中,我要做的是在客户模块的每个页面中维护客户ID。这意味着客户模块有不同的报表、条目表等。 如果客户已登录,我希望在每个页面中显示姓名。在报告部分,我只希望显示已登录客户的相关数据。 在每个报告中,我只想显示已登录客户详细信息的相关数据。 所以我选择在每个页面中使用会话状态。这是一个好方法吗?我做得对吗?我在每次页面加载中都使用会话?有没有最好的选择?指引我

我的代码示例

//Check weather session variable null or not
if (Session["UserName"] != null)
{
    //Retrieving UserName from Session
    lblWelcome.Text = "Welcome : " + Session["UserName"];
}

谢谢

像这样在会话中保留类对象会更好-

class Employee
{
    public EId {get; set;}
    public EName {get; set;}
    public Employee(){}
}
将类对象存储在会话中-

Employee emp = new Employee();
Session["EmployeeObj"] = emp;
有时,在sql server中存储会话也很方便,请参阅
谢谢

虽然您可以使用会话来推出自己的身份验证机制,但最好使用预构建的测试系统,如Forms authentication。您是否可以参考任何文章来实现它@这里需要Matthewsession变量,如果您在母版页中执行此检查,而不是在每个页面加载事件中反复写入它,这将是一件好事。是的,我在母版页中执行了此操作,但在报告页中,我必须根据登录的客户绑定数据@yogihostingyes您必须这样做,因为http是无状态的。我也看到我的答案了。