我不時得到這個錯誤與序列化,我不知道我需要序列化哪個文件。 頁面一次打開和關閉,另一次不打開。 這裏是我得到的錯誤:實體模型的序列化c#
System.Web.HttpException(0X80004005):無法序列化會話 狀態。在'StateServer'和'SQLServer'模式下,ASP.NET將會序列化會話狀態對象,因此不允許使用不可序列化的對象或者不允許使用MarshalByRef對象。如果自定義會話狀態存儲庫以 「自定義」模式完成類似的序列化,則應用相同的限制 。 ---> System.Runtime.Serialization.SerializationException:類型 'System.Data.Entity.DynamicProxies.Product_CC06DC79809AC788823D74B88F94CCB7155ADCE697911AF73214FB8B5F2B2EB4' 在大會「EntityFrameworkDynamicProxies-Nop.BusinessLogic, 版本= 1.0.0.0,文化=中立,公鑰=空'沒有標記爲可序列化的 。在 System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType 型)在 System.Runtime.Serialization.FormatterServices.GetSerializableMembers(類型 型,的StreamingContext上下文)在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo () 在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(對象 OBJ,ISurrogateSelector surrogateSelector,的StreamingContext上下文, SerObjectInfoInit serObjectInfoInit,IFormatterConverter來轉換器, ObjectWriter objectWriter,SerializationBinder粘合劑)在 System.Runtime.Serialization .Formatters.Binary.ObjectWriter.Write(寫ObjectInfo objectInfo,NameInfo memberNameInfo,NameInfo typeNameInfo)在 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(對象 圖表,部首[] inHeaders,__BinaryWriter serWriter,布爾FCHECK)
在 System.Runtime.Serialization .Formatters.Binary.BinaryFormatter.Serialize(流 serializationStream,對象圖,部首[]標頭,布爾FCHECK)
在System.Web.Util.AltSerialization.WriteValueToStream(對象值, 的BinaryWriter作家)在 的System.Web。 Util.AltSerialization.WriteValueToStream(對象值, BinaryWriter作家)在 System.Web.SessionState.SessionS tateItemCollection.WriteValueToStreamWithAssert(對象 值,的BinaryWriter作家)處 系統 System.Web.SessionState.SessionStateItemCollection.Serialize(的BinaryWriter 作家)在 System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData 項目,流流)。 Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData 項,的Int32 initialStreamSize,字節[] & BUF,的Int32 &長度,布爾 compressionEnabled)在 System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive(HttpContext的 上下文中,串ID,SessionStateStoreData項,對象lockId,布爾型 的newitem)在 System.Web.SessionState.SessionStateModule.OnReleaseState(對象 源,EventArgs的EventArgs的)在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication 。ExecuteStep(IExecutionStep一步, 布爾& completedSynchronously)
所以基本上我認爲是一些與實體模型,但我想知道我怎麼能序列化。 由於提前,Laziale
這是掩蓋它嗎? http://stackoverflow.com/questions/7276507/serializable-classes-and-dynamic-proxies-in-ef-how –
你需要序列化整個實體嗎?將會話中唯一的ID存儲在會話中並從數據庫中檢索實體本身可能會更好。 – Macros
btw,DataContractSerializer'是否可以與你的對象一起工作?如果是這樣,另一個選項將是:使用'DataContractSerializer'序列化,並僅爲數據協定序列化器存儲輸出 –