Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 16577|Vastaus: 1

[ASP.NET] Istuntotiloja ei voi sarjoittaa. "StateServer"- tai "SQLServer"-tilassa...

[Kopioi linkki]
Julkaistu 18.11.2017 21.37.45 | | | |
Istuntotiloja ei voi sarjoittaa. "StateServer"- tai "SQLServer"-tilassa ASP.NET sarjoittaa istuntotila-objektit, joten ei-sarjoitettavat objektit tai MarshalByRef-objektit eivät ole sallittuja. Samat rajoitukset pätevät, jos mukautettu istuntotilavarasto suorittaa vastaavan sarjoittamisen "Custom"-tilassa.        



Ratkaisu:

Muuttujia ei voi sarjoittaa Sessionin määrittämisessä, joten kokeile lisätä [Serializable] luokkaan. Ongelmanratkaisu

[Sarjoitettavissa]
public class MyClass
{
.......
}

Puhutaanpa [Serializable]-järjestelmästä, jota käytetään kertomaan kääntäjälle, että luokka voidaan sarjoittaa

Sarjoittaminen tarkoittaa prosessia, jossa objekti-instanssin tila tallennetaan tallennusvälineelle. Tässä prosessissa objektin julkiset ja yksityiset kentät sekä luokan nimi (mukaan lukien kokoonpano, jossa luokka sijaitsee) muunnetaan tavuvirraksi ennen kuin tavuvirta kirjoitetaan datavirtaan. Kun objekti myöhemmin deserialisoidaan, luodaan identtinen kopio alkuperäisestä objektista.
Serialisointimekanismeja toteutettaessa oliopohjaisessa ympäristössä on oltava kompromisseja helppokäyttöisyyden ja joustavuuden välillä. Kunhan sinulla on riittävästi kontrollia tähän prosessiin, voit tehdä siitä pääosin automaattisen. Esimerkiksi yksinkertainen binäärinen sarjoittaminen ei riitä, tai on tarpeen määrittää, mitkä kentät luokassa täytyy sarjoittaa tietystä syystä. Seuraavissa osioissa tarkastellaan .NET-kehyksen luotettavia sarjoittamismekanismeja ja korostetaan joitakin tärkeitä ominaisuuksia, joiden avulla voit räätälöidä sarjallistamisprosessin tarpeidesi mukaan.





Edellinen:ASP.NET StateServer, joka tallentaa istunnon
Seuraava:SQL Server Kuinka kopioida yksi taulu toiseen
 Vuokraisäntä| Julkaistu 19.11.2017 16.19.48 |
Joidenkin MarshalByRefin periytyvien objektien, kuten DbTransation-objektien, kohdalla niitä ei voi sarjoittaa. Siksi et voi käyttää Sessionia tallentamaan objekteja, jotka perivät MarshalByRef-tyypin.
Kiertotie on käyttää välimuistia ja SessionID:tä istunnon emulointiin. Cache-luokka voi välimuistittaa minkä tahansa tyyppisen objektin.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com