2012-07-25 56 views
0

我的目标是正确分配会话并检索存储在该会话中的值。C#中的ASP.NET会话

当用户来到我的第一页,Default.aspx页面时,我在后面的代码中设置了会话。

HttpContext.Current.Session [“permissions”] =“Super”;

但是,我无法访问另一个文件中的数据访问类中的此部分。我做错了什么,或者是否有人知道从C#类访问已设置会话的正确方法?

我尝试使用相同的语法来访问会话: 字符串权限= HttpContext.Current.Session [“权限”]的ToString();

+0

意味着它是空还是什么? – mellamokb 2012-07-25 19:12:24

+5

我不认为访问会话是数据层的问题。为什么不重新考虑架构?你可以使用依赖注入来代替,或者来回传递一个变量 – Dimitri 2012-07-25 19:12:45

回答

1

我很确定,你总是可以覆盖这种情况。你所要做的并不是一个好的设计主管。

你可以做的是通过填充该类的自定义属性,将CurrentUser和/或他/她的角色传递给数据类。在该类中,您可以使用此属性的值来处理用户的角色。

让我知道,如果这可以帮助你。

对于代码示例,您可以随时看这太问题

How to access session variables from any class in ASP.NET?

+0

链接类是一种更强大的方法。当我执行一个asmx web服务时,我确实需要启用SessionState标志。谢谢 – Garrett 2012-07-25 21:58:52