Skillnaden mellan Session och Viewstate



Session vs Viewstate

Viewstate och session är två av de lösningar på problem i webbapplikationer. Problemet involverar en datoranvändare åtkomst till en webbsida i en specifik tidsperiod. Efter en tids användning, eller efter det att användaren stängt ansökan, webbsidan 's information och tillgång tas bort från de senaste användningsloggar.

Viewstate är giltigt endast under postbacks och bara för serialiserade data. Viewstate, först och främst, är föremål / arkitektur som gör det möjligt för webb kontroller för att behålla sitt värde mellan postbacks. Liksom session kan Viewstate köra och vara tillgänglig för en server.
Informationen i Viewstate lagras för kunden endast som ett krypterat värde i webbläsaren 's dolda fält. Detta gör uppgifter osäker och eventuellt föremål för dataintrång. Under postbacks, Viewstate spårar förändringar i en viss webbplats.

Viewstate behåller också värdet av kontrollen för den speciella sidan. Detta innebär att data på en sida ISN 't och inte kan vara tillgängliga, nås, eller kopieras till en annan sida. Viewstate bibehålls på sidnivå eller aktuell, levande sida. Den har ingen idé av utandningen och kan aktiveras eller inaktiveras i Viewstate för särskilda kontroller.

Viewstate kan ses i att titta på källkoden på sidan som varar tills sidan är stängd. Viewstate är oftast används för att hålla en liten mängd data (vanligtvis en sträng och andra serialiserade data) på den aktuella sidan. Också, Viewstate förbrukar mer bandbredd jämfört med session men mindre minne och minnesutrymme. Viewstate 't innebära för mycket minne eftersom all data går förlorad det ögonblick sidan är stängd.



Under tiden är session mer vanligen används för webbsidor och påverkar inte bara sida men hela tillämpningen och hela den tid en användare som använder just den webbläsare eller sida. Session gäller för alla typer av objekt och lagras i serverminnet i webbläsaren. De data den behåller är data för datoranvändaren eller, med andra ord, användarspecifika data. Uppgifterna är tillgängliga förrän användaren stänger webbläsaren ansökan eller sessionen upphör på egen hand.

Till skillnad från i Viewstate, kan data i sessionen nås eller kopieras till ett annat fönster eller sida i sessionen. Sessions don också 't har förmågan att inaktivera eller aktivera särskilda kontroller. Session innebär också olika typer av data som ska lagras i minnet kärl. Session har även en större minne jämfört med Viewstate eftersom den använder serverminne. Nackdelen med detta är att sessionen har en förfallotid, och mängden data som lagras i serverminnet kan påverka tidsserver belastning.

Sammanfattning:

1. Bortsett från Viewstate och session andra ASP.NET lösningar inkluderar applikationsvariabler, cache och cookies. 2. Viewstate och session kan både köra och vara tillgänglig i en servermiljö.
3. Viewstate används på klientsidan medan sessionen används på serversidan. Att vara på klientsidan gör Viewstate har inget utgångs. Motsatsen (med ett utgångs och vara på serversidan) är för sessionen.
4. Viewstate kan bara hålla en sträng eller serialiserbara data medan session kan hålla en stor mängd typ av data. Detta gör att mängden data i Viewstate mycket mindre jämfört med session 's.
5. Session kan replikera eller dataåtkomst till en ny sida eller ett fönster medan Viewstate ISN 't kan den här funktionen.