Razlika između sesije i ViewState-a

Sesija vs ViewState

ViewState i session su dva rješenja za probleme u web aplikacijama. Problem uključuje korisnika računala koji pristupa web stranici u određeno vrijeme. Nakon nekog vremena korištenja ili nakon što je korisnik zatvorio aplikaciju, podaci i web stranica brišu se iz nedavnih zapisnika uporabe.

ViewState vrijedi samo tijekom pretplata i odnosi se samo na serijske podatke. ViewState, prije svega, objekt / arhitektura koja omogućuje web kontrolama da zadrže svoju vrijednost između pretplatnika. Kao i sesija, ViewState se može pokrenuti i biti dostupan poslužitelju.
Informacije u ViewState-u pohranjuju se za klijenta samo kao šifrirana vrijednost u skrivenim poljima preglednika. Zbog toga se podaci ne osiguravaju i vjerojatno podliježu hakiranju. Tijekom postbakova, ViewState prati promjene na određenoj web stranici.

ViewState također zadržava vrijednost kontrole za određenu stranicu. To znači da podaci na stranici nisu i ne mogu im biti dostupni, pristupiti ili kopirati na drugu stranicu. ViewState se održava na razini stranice ili trenutačne stranice uživo. Nema točka isteka i može se omogućiti ili onemogućiti u ViewStateu za određene kontrole.

ViewState može se vidjeti ako gledate izvorni kôd stranice koji traje dok se stranica ne zatvori. ViewState se uglavnom koristi za držanje male količine podataka (obično niza i drugih serializiranih podataka) na trenutnoj stranici. Također, ViewState troši više propusnosti u odnosu na sesiju, ali manje prostora i memorije. ViewState ne sadrži previše memorije jer su svi podaci izgubljeni u trenutku zatvaranja stranice.

U međuvremenu, sesija se češće koristi za web stranice i utječe ne samo na stranicu već na cjelokupnu aplikaciju i čitavo vrijeme korisnika koji koristi taj određeni preglednik ili stranicu. Sjednica vrijedi za bilo koju vrstu objekata i pohranjuje se u memoriju poslužitelja preglednika. Podaci koje zadržavaju su podaci korisnika računala ili, drugim riječima, podaci specifični za korisnika. Podaci su dostupni dok korisnik ne zatvori aplikaciju za preglednik ili ne istekne sesija sama.

Za razliku od ViewState-a, podacima u sesiji može se pristupiti ili kopirati u drugi prozor ili stranicu unutar sesije. Sjednice također nemaju mogućnost onemogućavanja ili omogućavanja određenih kontrola. Sjednica također uključuje različite vrste podataka koje se pohranjuju u njenu memorijsku posudu. Sesija također ima veću memoriju u odnosu na ViewState jer koristi memoriju poslužitelja. Loša strana toga je da sesija ima vrijeme isteka, a količina podataka pohranjenih u memoriji poslužitelja može utjecati na vremensko učitavanje poslužitelja..

Sažetak:

1. Osim ViewState-a i sesije, druga ASP.NET rješenja uključuju varijable aplikacija, predmemoriju i kolačiće. 2.ViewState i sesija mogu se pokrenuti i biti dostupni u okruženju poslužitelja.
3.ViewState koristi se na strani klijenta dok se sesija koristi na strani poslužitelja. Budući da su na strani klijenta, ViewState nema isteka roka. Suprotno (ima istek i nalazi se na strani poslužitelja) je za sesiju.
4.ViewState može sadržavati samo niz ili serializabilne podatke, dok sesija može sadržavati veliku vrstu mnoštva podataka. To čini količinu podataka u ViewStateu znatno manjom u odnosu na sesiju.
5.Session može kopirati ili pristupiti podacima na novu stranicu ili prozor dok ViewState nije sposoban za ovu značajku.
6.Session pohranjuje svoje podatke u memoriju poslužitelja dok ViewState svoje podatke skriva u skrivenim poljima preglednika kao šifrirane podatke. 7. Budući da poslužiteljska memorija sadrži različite vrste podataka, velika količina pohranjenih podataka može utjecati na učitavanje poslužitelja.