1

序列化时我不时收到此错误,我不知道我需要序列化哪个文件。页面在加载其他时间时打开和关闭。这是我得到的错误:

System.Web.HttpException (0x80004005):无法序列化会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许不可序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“自定义”模式下完成类似的序列化,则适用相同的限制。---> System.Runtime.Serialization.SerializationException:在程序集“EntityFrameworkDynamicProxies-Nop.BusinessLogic,版本=1.0.0.0,CultureToken=neutral”中键入“System.Data.Entity.DynamicProxies.Product_CC06DC79809AC788823D74B88F94CCB7155ADCE697911AF73214FB8B5F2B2EB4”作为可序列化的。在 System.Runtime.Serialization.FormatterServices。
在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(流序列化流,对象图,标头 [] 标头,布尔 fCheck)
在 System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) 在 System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) 在 System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer ) 在 System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer) 在 System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) 在 System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte []& buf, Int32& 长度, Boolean compressionEnabled) 在 System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item,System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) 在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication. ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

所以基本上我认为是实体模型的东西,但我想知道如何序列化它。提前致谢, Laziale

4

1 回答 1

3

System.Data.Entity.DynamicProxies.Product(此类错误)

应该在类上添加[DataContract]属性,在这样的字段上添加[DataMember]

using System.Runtime.Serialization;
[DataContract]
public class Account
{
    [DataMember]
    public System.Guid ID { get; set; }
    [DataMember]
    public System.Guid AccountSubTypeID { get; set; }
    [DataMember]
    public Nullable<int> IndustryTypeID { get; set; }
}
于 2012-06-08T04:02:00.177 回答