无法序列化会话状态

时间:2012-04-26 17:36:39

标签: c# asp.net

无法序列化会话状态。在'StateServer'和 'SQLServer'模式,ASP.NET将序列化会话状态对象, 因此,不可序列化的对象或MarshalByRef对象是 不允许。如果类似的序列化,则适用相同的限制 由“自定义”模式下的自定义会话状态存储完成。

  

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.Web.HttpException:无法序列化   会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET将会   序列化会话状态对象,因此不可序列化   不允许使用对象或MarshalByRef对象。相同   如果自定义完成类似的序列化,则适用限制   会话状态存储在“自定义”模式下。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[SerializationException:在Assembly中输入'Examination'   'App_Code.aw9uvznn,Version = 0.0.0.0,Culture = neutral,   PublicKeyToken = null'未标记为可序列化。]
  System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType   型号)+7735723
  System.Runtime.Serialization.FormatterServices.GetSerializableMembers(类型   type,StreamingContext context)+258
  System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()   +111 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object   obj,ISurrogateSelector surrogateSelector,StreamingContext context,   SerObjectInfoInit serObjectInfoInit,IFormatterConverter转换器,   ObjectWriter objectWriter)+161
  System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(对象   obj,ISurrogateSelector surrogateSelector,StreamingContext context,   SerObjectInfoInit serObjectInfoInit,IFormatterConverter转换器,   ObjectWriter objectWriter)+51
  System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(对象   graph,Header [] inHeaders,__BinaryWriter serWriter,Boolean fCheck)   +410 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream   serializationStream,Object graph,Header [] headers,Boolean fCheck)   +134 System.Web.Util.AltSerialization.WriteValueToStream(Object value,BinaryWriter writer)+1577

     

[HttpException(0x80004005):无法序列化会话状态。在   在“StateServer”和“SQLServer”模式下,ASP.NET将序列化会话   状态对象,因此不可序列化的对象或   不允许MarshalByRef对象。同样的限制适用   如果类似的序列化由自定义会话状态存储在中完成   '自定义'模式。]
  System.Web.Util.AltSerialization.WriteValueToStream(Object value,   BinaryWriter作者)+1662
  System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(对象   值,BinaryWriter作者)+34
  System.Web.SessionState.SessionStateItemCollection.Serialize(的BinaryWriter   作家)+606
  System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData   item,Stream stream)+239
  System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData   item,Int32 initialStreamSize,Byte []& buf,Int32&长度)+72
  System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext的   context,String id,SessionStateStoreData item,Object lockId,Boolean   newItem)+87
  System.Web.SessionState.SessionStateModule.OnReleaseState(对象   source,EventArgs eventArgs)+560
  System.Web.SessionState.SessionStateModule.OnEndRequest(Object source,   EventArgs eventArgs)+160
  System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +68 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+75

     

http://myweb.somee.com/login.aspx 用户名:demo 密码:用户

点击参加考试 选择ASP.NET并单击开始考试。

您将看到以下错误。我需要帮助来删除此错误。 sidra.raheel@yahoo.com

从以下链接下载源代码: http://www.4shared.com/zip/-KF0Zjsi/Quiz_Engine_in_ASP.html

1 个答案:

答案 0 :(得分:6)

因此,将Examination标记为[Serializable]。完成。