Сервер состояний Asp.net не может сериализовать состояние сеанса
Я использую сеанс 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
1 ответ
Проверьте ваш Stacktrace, где он выдает ошибку. Он должен сказать вам точно, какой объект он не может сериализовать. Согласно комментариям выше, не все объекты могут быть сериализованы.
Смотрите: Как я могу найти, какой объект в ASP.NET не может быть сериализован?