Sessionstilstande kan ikke serialiseres. I "StateServer" eller "SQLServer"-tilstand vil ASP.NET serialisere sessionstilstandsobjekter, så ikke-serialiserbare objekter eller MarshalByRef-objekter er ikke tilladt. De samme begrænsninger gælder, hvis den brugerdefinerede sessionstilstandsbutik udfører lignende serialisering i "Custom"-tilstand.
Opløsning:
Variabler kan ikke serialiseres, når du tildeler en Session, så prøv at tilføje [Serializable] til Klassen. Problemløsning
[Serialiserbar] offentlig klasse MyClass
{ .......
}
Lad os tale om [Serializable], som bruges til at informere compileren om, at klassen kan serialiseres
Serialisering refererer til processen med at gemme tilstanden af en objektinstans på et lagringsmedie. I denne proces konverteres objektets offentlige og private felter samt navnet på klassen (inklusive samlingen, hvor klassen befinder sig) til en bytestrøm, før bytestrømmen skrives til datastrømmen. Når objektet efterfølgende deserialiseres, skabes en identisk kopi af det oprindelige objekt. Når man implementerer serialiseringsmekanismer i et objektorienteret miljø, må der være visse afvejninger mellem brugervenlighed og fleksibilitet. Så længe du har nok kontrol over denne proces, kan du gøre det stort set automatisk. For eksempel er simpel binær serialisering ikke tilstrækkelig, eller der er behov for at bestemme, hvilke felter i en klasse der skal serialiseres af en bestemt grund. De følgende afsnit vil udforske de pålidelige serialiseringsmekanismer, som .NET-frameworket tilbyder, og fremhæve nogle af de vigtige funktioner, der gør det muligt at tilpasse serialiseringsprocessen til dine behov.
|