Sesi vs ViewState
ViewState dan sesi adalah dua solusi untuk masalah dalam aplikasi web. Masalahnya melibatkan pengguna komputer yang mengakses halaman web dalam periode waktu tertentu. Setelah beberapa waktu penggunaan, atau setelah pengguna menutup aplikasi, informasi dan akses halaman web dihapus dari log penggunaan terakhir.
ViewState hanya valid selama postbacks dan hanya berlaku untuk data serial. ViewState, pertama dan terpenting, adalah objek / arsitektur yang memungkinkan kontrol Web untuk mempertahankan nilainya di antara postback. Seperti sesi, ViewState dapat berjalan dan dapat diakses ke server.
Informasi di ViewState disimpan untuk klien hanya sebagai nilai terenkripsi di bidang tersembunyi browser. Ini membuat data tidak aman dan mungkin menjadi sasaran peretasan. Selama postback, ViewState melacak perubahan di situs web tertentu.
ViewState juga mempertahankan nilai kontrol untuk halaman tertentu. Ini berarti bahwa data pada halaman tidak dan tidak dapat tersedia, diakses, atau direplikasi ke halaman lain. ViewState dikelola pada level halaman atau halaman live saat ini. Tidak ada titik kedaluwarsa dan dapat diaktifkan atau dinonaktifkan di ViewState untuk kontrol tertentu.
ViewState dapat dilihat dalam melihat kode sumber halaman yang berlangsung hingga halaman ditutup. ViewState sebagian besar digunakan untuk menyimpan sejumlah kecil data (biasanya string dan data serial lainnya) di halaman saat ini. Juga, ViewState mengkonsumsi lebih banyak bandwidth dibandingkan dengan sesi tetapi lebih sedikit memori dan ruang memori. ViewState tidak melibatkan terlalu banyak memori karena semua data hilang saat halaman ditutup.
Sementara itu, sesi lebih umum digunakan untuk halaman Web dan tidak hanya mempengaruhi halaman tetapi seluruh aplikasi dan seluruh durasi pengguna menggunakan browser atau halaman tertentu. Sesi ini valid untuk semua jenis objek dan disimpan dalam memori server browser. Data yang disimpan adalah data pengguna komputer atau, dengan kata lain, data spesifik pengguna. Data tersedia hingga pengguna menutup aplikasi browser atau sesi berakhir dengan sendirinya.
Tidak seperti di ViewState, data dalam sesi dapat diakses atau direplikasi ke jendela atau halaman lain dalam sesi. Sesi juga tidak memiliki kemampuan untuk menonaktifkan atau mengaktifkan kontrol khusus. Sesi juga melibatkan berbagai jenis data untuk disimpan dalam wadah memorinya. Session juga memiliki memori yang lebih besar dibandingkan dengan ViewState karena menggunakan memori server. Kelemahan dari ini adalah bahwa sesi memiliki waktu kedaluwarsa, dan jumlah data yang disimpan dalam memori server dapat mempengaruhi waktu server memuat.
Ringkasan:
1. Selain dari kondisi tampilan dan sesi, solusi ASP.NET lainnya termasuk variabel aplikasi, cache, dan cookie. 2.ViewState dan sesi dapat berjalan dan dapat diakses di lingkungan server.
3.ViewState digunakan di sisi klien sementara sesi digunakan di sisi server. Berada di sisi klien membuat ViewState tidak kedaluwarsa. Yang sebaliknya (memiliki kedaluwarsa dan berada di sisi server) adalah untuk sesi.
4.ViewState hanya dapat menampung data string atau serializable sementara sesi dapat menampung banyak jenis data. Ini membuat jumlah data di ViewState jauh lebih kecil dibandingkan dengan sesi.
5.Session dapat mereplikasi atau mengakses data ke halaman atau jendela baru sementara ViewState tidak mampu fitur ini.
6.Session menyimpan datanya dalam memori server sementara ViewState menyembunyikan datanya di bidang tersembunyi browser sebagai data terenkripsi. 7.Karena memori server menyimpan berbagai jenis data, sejumlah besar data yang disimpan dapat memengaruhi beban server.