我确定它与多台计算机的持久性无关,但似乎很奇怪,第二次网站访问,会引发一个问题和问题的更新。动态加载的答案,以便在Ajax更新面板中显示。
<sessionState mode="InProc" cookieless="UseCookies" timeout="20" cookieName="ASPNET_Quiz" />
Global.asax中:
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Session("test") = "true" 'Used only to create a static Session ID for references.
If (Globals.Quiz(Session) Is Nothing) Then
Globals.Quiz(Session) = New classes.Quiz(WebConfigurationManager.OpenWebConfiguration("~"))
End If
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
Globals.Quiz(Session) = Nothing
Session.Remove("test")
Session.Abandon()
End Sub
Globals.vb
Module Globals
'Get/Set a Quiz object into the SessionState.
Public Property Quiz(sess As HttpSessionState) As Quiz
Get
Return CType(sess("quiz"), Quiz)
End Get
Set(value As Quiz)
sess("quiz") = value
End Set
End Property
End Module
我有一个带有UpdatePanel的母版页,用于根据数据库值倒计时几分钟,并且是由定时器勾选事件触发的AsyncPostBack(间隔= 1000)
内容页面有一个不同的UpdatePanel,围绕着问题&amp;该站点的答案,并且还有一个AsyncPostBack触发器(通过代码隐藏)注册到内置的RadioButtonList的SelectedIndexChanged事件。
如果只有一个人访问该网站,则没有问题。一旦另一个用户访问该网站,就会出现问题&amp;答案在Quiz对象中进行重组,然后重新调整其显示,并且基本上导致未被回答的问题显示在用户当前位置之上或之下。已经选择的答案,不会改变,但答案的顺序是重新洗牌。 Q&amp; A的随机化以SQL Server方式为基础,通过SProc。
AsyncPostBack
更改为PostBack
Application_BeginRequest
而不是Session_Start
中初始化测验对象吗?