Sesi vs ViewState
ViewState dan sesi adalah dua daripada penyelesaian untuk masalah dalam aplikasi web. Masalahnya ialah pengguna komputer yang mengakses laman web dalam tempoh tertentu. Selepas beberapa waktu penggunaan, atau selepas pengguna menutup aplikasi, maklumat dan akses halaman web dihapuskan daripada log penggunaan terkini.
ViewState sah hanya semasa pos ulang dan hanya boleh digunakan untuk data bersiri. ViewState, yang pertama dan terpenting, adalah objek / seni bina yang membolehkan kawalan Web mengekalkan nilai mereka di antara postbacks. Seperti sesi, ViewState boleh berjalan dan dapat diakses oleh pelayan.
Maklumat dalam ViewState disimpan untuk pelanggan hanya sebagai nilai yang disulitkan dalam medan tersembunyi penyemak imbas. Ini menjadikan data tidak selamat dan mungkin tertakluk kepada penggodaman. Semasa pengembalian semula, ViewState menjejaki perubahan dalam laman web tertentu.
ViewState juga mengekalkan nilai kawalan untuk halaman tertentu. Ini bermakna bahawa data pada halaman tidak dan tidak boleh didapati, diakses, atau direplikasi ke halaman lain. ViewState dikekalkan di peringkat halaman atau halaman semasa, secara langsung. Ia tidak mempunyai masa tamat dan boleh diaktifkan atau dilumpuhkan di ViewState untuk kawalan tertentu.
ViewState boleh dilihat dalam melihat kod sumber halaman yang berlangsung sehingga halaman ditutup. ViewState kebanyakan digunakan untuk memegang sejumlah kecil data (biasanya rentetan dan data bersiri lain) pada halaman semasa. Juga, ViewState menggunakan lebih lebar jalur berbanding sesi tetapi kurang memori dan ruang ingatan. ViewState tidak melibatkan memori terlalu banyak kerana semua data hilang ketika halaman ditutup.
Sementara itu, sesi lebih sering digunakan untuk halaman Web dan tidak hanya mempengaruhi halaman tetapi keseluruhan aplikasi dan keseluruhan tempoh pengguna menggunakan pelayar atau halaman tertentu. Sesi sah untuk sebarang jenis objek dan disimpan dalam memori pelayan penyemak imbas. Data yang dikekalkan adalah data pengguna komputer atau, dengan kata lain, data khusus pengguna. Data tersedia sehingga pengguna menutup aplikasi penyemak imbas atau sesi tamat sendiri.
Tidak seperti dalam ViewState, data dalam sesi boleh diakses atau direplikasi ke dalam tetingkap atau halaman lain dalam sesi. Sesi juga tidak mempunyai keupayaan untuk melumpuhkan atau membolehkan kawalan tertentu. Sesi juga melibatkan pelbagai jenis data yang akan disimpan di dalam bekas memori. Sesi juga mempunyai memori yang lebih besar berbanding ViewState kerana ia menggunakan memori pelayan. Kelemahan ini adalah bahawa sesi itu mempunyai masa tamat tempoh, dan kuantiti data yang disimpan dalam ingatan pelayan boleh menjejaskan beban pelayan masa.
Ringkasan:
1. Selain daripada ViewState dan sesi, penyelesaian ASP.NET lain termasuk pemboleh ubah aplikasi, cache, dan kuki. 2.ViewState dan sesi boleh berjalan dan boleh diakses di persekitaran pelayan.
3.ViewState digunakan pada sisi klien semasa sesi digunakan di sisi pelayan. Berada di sisi pelanggan membuat ViewState tidak mempunyai tamat tempoh. Sebaliknya (mempunyai tamat tempoh dan berada di sisi server) adalah untuk sesi.
4.ViewState hanya boleh memegang rentetan atau data bersiri sementara sesi boleh memegang pelbagai jenis data yang besar. Ini menjadikan jumlah data dalam ViewState jauh lebih kecil berbanding sesi.
5.Session boleh mereplikasi atau mengakses data ke halaman atau tetingkap baru sementara ViewState tidak mampu ciri ini.
6.Session menyimpan datanya dalam ingatan pelayan sementara ViewState menyembunyikan datanya dalam medan tersembunyi penyemak imbas sebagai data yang dienkripsi. 7. Memandangkan memori pelayan memegang pelbagai jenis data, sejumlah besar data yang disimpan dapat menjejaskan beban pelayan.