Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16577|Svar: 1

[ASP.NET] Sessionstilstande kan ikke serialiseres. I "StateServer" eller "SQLServer"-tilstand...

[Kopier link]
Opslået på 18/11/2017 21.37.45 | | | |
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.





Tidligere:ASP.NET StateServer, der gemmer sessionen
Næste:sqlserver hvordan man kopierer en tabel til en anden
 Udlejer| Opslået på 19/11/2017 16.19.48 |
For nogle objekter, der arver fra MarshalByRef, såsom DbTransation-objekter, kan de ikke serialiseres. Derfor kan du ikke bruge Session til at gemme objekter, der arver MarshalByRef-typen.
Workarounden er at bruge Cache og SessionID til at emulere sessionen. Cache-klassen kan cache enhver type objekt.
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com