我在C#ASP.net中使用会话对象.
我想知道我是否可以声明和使用这些对象的数组.
例如,假设有一个会话对象"User",那么我说:
User[,] u_sers_ = User[3,4].GetCurrentUser;
Run Code Online (Sandbox Code Playgroud)
我想要做的是声明一个会话对象数组,这可能吗?
如果不可能,我如何声明一个对象"成员"数组?
谢谢
上面的代码中没有任何内容涉及任何Session对象.您可能会遇到一些术语混淆:
命名的对象Session是Page实例对象的成员变量等.为方便起见,可以引用当前用户会话的会话对象.您没有做任何事情来创建这些对象的"数组" - 每个用户会话当前只有一个活动,并且每个Page和其他类似对象只能处理当前对象.
您将对象放在会话字典中以使用它们.再次; 这是一个单独的对象,为您自动创建每个会话并确定范围.你不创建它.但是您确实创建了单个对象以插入到Session对象中,并为您存储它们,跟踪哪个Session集合附加到哪个会话.
你当然可以在Session字典中添加一些内容,但我认为这并不是你在寻找的.
编辑会话用法:
在一个页面中,您可以向Session对象添加内容:
UserObject user = new UserObject(Request);
Session["user"] = user;
int[] integerValues = {1, 4, 6, 7, 44, 334, 3984};
Session["integers"] = integerValues;
object otherStuff = new object();
Session["other"] = otherStuff;
Run Code Online (Sandbox Code Playgroud)
然后你可以通过他们的名字来引用那些对象,经过测试以确保它们确实存在并正确地投射它们.您始终必须测试该对象是否存在,因为会话可能随时过期.
UserObject user = Session["user"] as UserObject;
if(user!=null)
...do stuff here...
int[] integerValues = Session["integers"] as int[];
if(integerValues!=null)
...do stuff here...
etc...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5988 次 |
| 最近记录: |