Atšķirība starp sesiju un ViewState

Sesija vs ViewState

ViewState un sesija ir divi no Web lietojumprogrammu problēmu risinājumiem. Problēma ir saistīta ar datora lietotāju, kas noteiktā laika posmā piekļūst Web lapai. Pēc kāda laika lietošanas vai pēc tam, kad lietotājs ir aizvēris lietojumprogrammu, Web lapas informācija un piekļuve tiek izdzēsta no pēdējiem lietošanas žurnāliem.

ViewState ir derīgs tikai atgriezeniskās saites laikā un ir piemērojams tikai sērijveida datiem. Pirmkārt un galvenokārt ViewState ir objekts / arhitektūra, kas ļauj Web vadīklām saglabāt vērtību starp atgriezenisko saiti. Tāpat kā sesija, arī ViewState var darboties un būt pieejama serverim.
ViewState informācija klientam tiek saglabāta tikai kā šifrēta vērtība pārlūka slēptajos laukos. Tas padara datus nenodrošinātus un, iespējams, pakļauti uzlaušanas iespējām. Atgriezeniskās saites laikā ViewState izseko izmaiņas noteiktā vietnē.

ViewState arī saglabā kontroles vērtību konkrētai lapai. Tas nozīmē, ka lapas dati nav un nevar būt pieejami, tiem nevar piekļūt vai replicēt tos citā lapā. ViewState tiek uzturēts lapas līmenī vai pašreizējā, dzīvajā lapā. Tam nav derīguma termiņa, un to var iespējot vai atspējot ViewState īpašām vadīklām.

ViewState var redzēt, apskatot lapas avota kodu, kas ilgst līdz lapas aizvēršanai. ViewState lielākoties tiek izmantots neliela apjoma datu (parasti virknes un citu serializētu datu) glabāšanai pašreizējā lapā. Arī ViewState patērē vairāk joslas platuma, salīdzinot ar sesiju, bet mazāk vietas un vietas atmiņā. ViewState neietver pārāk daudz atmiņas, jo visi dati tiek zaudēti, aizverot lapu.

Tikmēr sesija tiek biežāk izmantota Web lapām un ietekmē ne tikai lapu, bet arī visu lietojumprogrammu un visu tā lietotāja ilgumu, kurš izmanto šo konkrēto pārlūku vai lapu. Sesija ir derīga jebkura veida objektiem un tiek saglabāta pārlūka servera atmiņā. Dati, ko tas saglabā, ir datora lietotāja dati vai, citiem vārdiem sakot, lietotāja specifiski dati. Dati ir pieejami, līdz lietotājs aizver pārlūka lietojumprogrammu vai sesija beidzas pati.

Atšķirībā no ViewState, sesijas datiem var piekļūt vai replicēt tos citā sesijas logā vai lapā. Sesijās nav arī iespēju atspējot vai iespējot īpašas vadīklas. Sesija ietver arī dažāda veida datus, kas jāuzglabā tā atmiņas tvertnē. Sesijai ir arī lielāka atmiņa, salīdzinot ar ViewState, jo tā izmanto servera atmiņu. Negatīvie ir tas, ka sesijai ir derīguma termiņš, un servera atmiņā saglabāto datu daudzums var ietekmēt servera slodzi laikā..

Kopsavilkums:

1.Apskatījumā ViewState un sesijā citi ASP.NET risinājumi ietver lietojumprogrammu mainīgos, kešatmiņu un sīkfailus. 2.ViewState un sesija var darboties un būt pieejama servera vidē.
3.ViewState tiek izmantots klienta pusē, savukārt sesija tiek izmantota servera pusē. Atrodoties klienta pusē, ViewState vairs nav derīguma termiņa. Pretējā gadījumā (kam ir derīguma termiņš un atrašanās servera pusē) ir sesijai.
4.ViewState var turēt tikai virkni vai serializējamus datus, kamēr sesija var turēt lielu daudzu veidu datus. Tas padara datu daudzumu ViewState daudz mazāku salīdzinājumā ar sesijas datiem.
5.Sesija var replicēt datus vai piekļūt tiem jaunā lapā vai logā, kamēr ViewState šo funkciju nespēj.
6.Sesija savus datus glabā servera atmiņā, savukārt ViewState savus datus paslēpj pārlūkprogrammas slēptajos laukos kā šifrētus datus. 7. Tā kā servera atmiņā ir dažāda veida dati, liels glabāto datu daudzums var ietekmēt servera noslodzi.