【发布时间】:2014-01-28 06:46:11
【问题描述】:
我正在使用 StateServer 会话,使所有对象 [Serializable] ,仍然出现错误。问题是什么?
无法序列化会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许不可序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“自定义”模式下完成类似的序列化,则适用相同的限制。
这是代码...在 Response.Redirect("common/TicklerDisplay
上出现错误Private Sub btnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogin.Click
Try
SetOffset()
strUserName = txtEmaillAdd.Text.Trim
strPassword = txtPassword.Text.Trim
Dim strSubscriptionLogin() As String = CCommon.ToString(ConfigurationManager.AppSettings("SubscriptionManagement")).Split("/")
If strSubscriptionLogin.Length = 2 Then
If strSubscriptionLogin(0) = strUserName And strSubscriptionLogin(1) = strPassword Then
Session("DomainID") = 1
Session("UserContactID") = 1
Session("PagingRows") = 20
Session("DateFormat") = "DD/MONTH/YYYY"
Response.Redirect("Service/frmSerNav.htm", False)
Exit Sub
End If
End If
If sb_GetDomainUser() = False Then
Session.Abandon()
Exit Sub
End If
Catch ex As Exception
ExceptionModule.ExceptionPublish(ex, Session("DomainID"), Session("UserContactID"), Request)
Response.Write(ex)
Session.Abandon()
Exit Sub
End Try
If GetQueryStringVal("From") = "Help" Then
Dim HelpURL As String = ConfigurationManager.AppSettings("HelpURL")
HelpURL = HelpURL & "?a=" & objCommon.Encrypt(Session("AccessID")) & "&pageurl=" & CCommon.ToString(GetQueryStringVal("pageurl"))
Response.Redirect(HelpURL)
Exit Sub
Else
Response.Redirect("common/TicklerDisplay.aspx?ClientMachineUTCTimeOffset=" & txtOffset.Text.Trim)
'HttpContext.Current.ApplicationInstance.CompleteRequest()
End If
'Response.Redirect("include/frmMenu.aspx")
End Sub
【问题讨论】:
-
您能否检查一下设置为可序列化的数据成员的数据类型?由于某些数据类型可能未序列化
-
请提供一些代码。即使使用 Serializable,也不是所有对象都可以序列化,就像字典一样。
标签: asp.net stateserver