Stanja seje ni mogoče serializirati. V načinu »StateServer« ali »SQLServer« ASP.NET serializira objekte stanja seje, zato objekti brez serializacije ali MarshalByRef niso dovoljeni. Enake omejitve veljajo, če shranjevanje stanja seje izvaja podobno serializacijo v načinu "Custom".
Rešitev:
Spremenljivk ni mogoče serializirati pri dodeljevanju seje, zato poskusite dodati [Serializable] v razred. Reševanje problemov
[Serijsko] javni razred MyClass
{ .......
}
Pogovorimo se o [Serializable], ki se uporablja za obveščanje prevajalnika, da je razred mogoče serializirati
Serializacija se nanaša na postopek shranjevanja stanja primerka objekta na pomnilniški medij. V tem postopku se javna in zasebna polja objekta ter ime razreda (vključno z asamblerom, v katerem se razred nahaja) pretvorijo v bajtni tok, preden se bajtni tok zapiše v podatkovni tok. Ko je objekt kasneje deserializiran, se ustvari identična kopija izvirnega objekta. Pri implementaciji mehanizmov serializacije v objektno usmerjenem okolju morajo obstajati določeni kompromisi med enostavnostjo uporabe in prilagodljivostjo. Dokler imate dovolj nadzora nad tem procesom, ga lahko naredite večinoma avtomatskega. Na primer, preprosta binarna serializacija ni dovolj ali pa je treba določiti, katera polja v razredu je treba serializirati iz določenega razloga. Naslednji razdelki bodo raziskali zanesljive mehanizme serializacije, ki jih zagotavlja .NET ogrodje, in izpostavili nekatere pomembne funkcije, ki vam omogočajo prilagoditev procesa serializacije vašim potrebam.
|