数组会话对象

Bru*_*uce 2 c# asp.net

我在C#ASP.net中使用会话对象.

我想知道我是否可以声明和使用这些对象的数组.

例如,假设有一个会话对象"User",那么我说:

User[,] u_sers_ = User[3,4].GetCurrentUser;
Run Code Online (Sandbox Code Playgroud)

我想要做的是声明一个会话对象数组,这可能吗?

如果不可能,我如何声明一个对象"成员"数组?

谢谢

And*_*ber 6

上面的代码中没有任何内容涉及任何Session对象.您可能会遇到一些术语混淆:

命名的对象SessionPage实例对象的成员变量等.为方便起见,可以引用当前用户会话会话对象.您没有做任何事情来创建这些对象的"数组" - 每个用户会话当前只有一个活动,并且每个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)