Asp.net会议开始如何?

时间:2013-11-27 20:13:33

标签: asp.net vb.net session global-asax

有人可以解释为什么如果我(尝试)在会话启动事件中创建一个类的实例我总是在多个会话中获得相同的实例?
我有几节课,比如教师,学生和文档。
在公共模块中我有

Public Teachers as Teacher  
Public Students as Student  
Public Doc as Documents  

Global.asax  

session start event   
Teachers = new teacher  
Students = new Student  
Doc = new Documents  

我认为每次会话开始时我都会得到每个班级的新实例。我不明白为什么这不会发生。

无论我做什么,我最终得到同样的实例。如果我打开浏览器并为任何类成员设置值,则在另一个浏览器会话中会出现相同的值。是的,如果不是会话变量,我有一个应用程序变量???? !!!!
如何/在哪里可以声明我的对象在每个会话的整个站点中使用?

非常感谢!

2 个答案:

答案 0 :(得分:0)

设定值:

Session("Teachers") = New Teachers

获取价值:

Dim objTeachers As Teachers = CType(Session("Teachers"), Teachers)

答案 1 :(得分:0)

我不会使用session start,因为它是静态的,因此只提供一个类的实例,我会初始化你需要在页面加载事件/方法中使用的任何类。

如果您确实需要在会话期间为该特定用户使用会话保留数据,请参阅http://msdn.microsoft.com/en-us/library/ms178581.ASPX