Pagkakaiba sa Pagitan ng Session at ViewState

Session vs ViewState

Ang ViewState at sesyon ay dalawa sa mga solusyon para sa mga problema sa mga application sa web. Ang problema ay nagsasangkot sa isang computer na gumagamit ng pag-access sa isang web page sa isang tiyak na tagal ng panahon. Pagkatapos ng ilang oras ng paggamit, o pagkatapos na sarado ng user ang application, ang impormasyon at access ng web page ay tinanggal mula sa kamakailang mga log ng paggamit.

Ang ViewState ay may bisa lamang sa mga postbacks at naaangkop lamang sa serialized na data. Ang ViewState, una at pangunahin, ay object / architecture na nagbibigay-daan sa mga kontrol ng Web upang mapanatili ang kanilang halaga sa pagitan ng mga postbacks. Tulad ng session, maaaring tumakbo ang ViewState at mapupuntahan sa isang server. Ang impormasyon sa ViewState ay nakaimbak para sa kliyente lamang bilang isang naka-encrypt na halaga sa mga nakatagong field ng browser. Ginagawa nito ang unsecured data at posibleng napapailalim sa pag-hack. Sa panahon ng postbacks, sinusubaybayan ng ViewState ang mga pagbabago sa isang partikular na website.

Napanatili rin ng ViewState ang halaga ng kontrol para sa partikular na pahina. Nangangahulugan ito na ang data sa isang pahina ay hindi at hindi maaaring makuha, ma-access, o replicated sa isa pang pahina. Ang ViewState ay pinanatili sa antas ng pahina o kasalukuyang, live na pahina. Wala itong punto ng pag-expire at maaaring paganahin o hindi paganahin sa ViewState para sa mga partikular na kontrol.

Maaaring makita ang ViewState sa pagtingin sa source code ng pahina na tumatagal hanggang ang pahina ay sarado. Ang ViewState ay kadalasang ginagamit upang mahawakan ang isang maliit na halaga ng data (karaniwang isang string at iba pang serialized data) sa kasalukuyang pahina. Gayundin, gumagamit ang ViewState ng mas maraming bandwidth kumpara sa session ngunit mas mababa ang memorya at memory space. Ang ViewState ay hindi nagsasangkot ng masyadong maraming memorya dahil ang lahat ng data ay nawala sa sandaling ang pahina ay sarado.

Samantala, ang session ay mas karaniwang ginagamit para sa mga pahina ng Web at nakakaapekto hindi lamang ang pahina ngunit ang buong application at buong tagal ng isang gumagamit gamit ang partikular na browser o pahina. Ang Session ay may bisa para sa anumang uri ng mga bagay at naka-imbak sa memorya ng server ng browser. Ang data na napanatili nito ay ang data ng gumagamit ng computer o, sa ibang salita, ang partikular na data ng gumagamit. Available ang data hanggang sa isara ng gumagamit ang application ng browser o ang oras ng pag-expire nang mag-isa.

Hindi tulad ng sa ViewState, ang data sa session ay maaaring ma-access o replicated sa isa pang window o pahina sa loob ng session. Ang mga sesyon ay wala ring kakayahan na huwag paganahin o paganahin ang mga tiyak na kontrol. Ang Session ay nagsasangkot din ng iba't ibang uri ng data na maiimbak sa kanyang memory receptacle. Ang Session ay may mas malaking memorya kumpara sa ViewState dahil gumagamit ito ng memory ng server. Ang downside ng mga ito ay na ang session ay may isang expiration time, at ang dami ng data na nakaimbak sa memorya ng server ay maaaring makaapekto sa oras load ng server.

Buod:

1.Bukod sa ViewState at session, iba pang mga solusyon sa ASP.NET ang mga variable ng aplikasyon, cache, at cookies. 2.ViewState at session ay maaaring parehong tumakbo at maa-access sa isang kapaligiran ng server. 3.ViewState ay ginagamit sa gilid ng client habang ang session ay ginagamit sa gilid ng server. Ang pagiging sa gilid ng kliyente ay walang expiration sa ViewState. Ang kabaligtaran (pagkakaroon ng expiration at pagiging sa gilid ng server) ay para sa sesyon. 4.ViewState ay maaari lamang humawak ng isang string o serializable data habang ang session ay maaaring magkaroon ng isang malaking uri ng data ng maraming tao. Ginagawa nito ang dami ng data sa ViewState na mas maliit kumpara sa session. 5.Session maaaring magtiklop o ma-access ang data sa isang bagong pahina o window habang ViewState ay hindi kaya ng tampok na ito. 6.Session ay nag-iimbak ng data nito sa memorya ng server habang tinitingnan ng ViewState ang data nito sa mga nakatagong field ng browser bilang naka-encrypt na data. 7.Since ang memorya ng server ay humahawak ng iba't ibang uri ng data, ang isang malaking halaga ng nakaimbak na data ay maaaring makaapekto sa server load.