1

シリアル化でこのエラーが発生することがありますが、どのファイルをシリアル化する必要があるのか​​わかりません。ページは、ロードされるときにオンとオフになり、ロードされないときにオンとオフになります。これが私が得ているエラーです:

System.Web.HttpException(0x80004005):セッション状態をシリアル化できません。'StateServer'および'SQLServer'モードでは、ASP.NETはセッション状態オブジェクトをシリアル化します。その結果、シリアル化できないオブジェクトまたはMarshalByRefオブジェクトは許可されません。「カスタム」モードのカスタムセッション状態ストアによって同様のシリアル化が行われる場合も、同じ制限が適用されます。---> System.Runtime.Serialization.SerializationException:Type'System.Data.Entity.DynamicProxies.Product_CC06DC79809AC788823D74B88F94CCB7155ADCE697911AF73214FB8B5F2B2EB4' in Assembly'EntityFrameworkDynamicProxies-Nop.BusinessLogic、Version = 1.0.0.0、Culture = neutralシリアル化可能として。System.Runtime.Serialization.FormatterServicesで。
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream、Objectgraph、Header [] headers、Boolean fCheck)で
System.Web.Util.AltSerialization.WriteValueToStream(Object value、BinaryWriter writer)at System.Web.Util.AltSerialization.WriteValueToStream(Object value、BinaryWriter writer)at System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value、BinaryWriter writer )at System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer)at System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item、Stream stream)at System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item、Int32 initialStreamSize、Byte []&buf、Int32&length、Boolean CompressionEnabled)at System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive(HttpContext context、String id、SessionStateStoreData item、System.Web.SessionState.SessionStateModule.OnReleaseState(Object source、EventArgs eventArgs)at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()atSystem.Web.HttpApplicationのObjectlockId、Boolean newItem) ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)

つまり、基本的にはエンティティモデルの問題だと思いますが、それをシリアル化する方法を知りたいと思います。よろしくお願いします、ラツィオ

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 に答える