Mengenal Session Dan Cookies Pada ASP.NET C#

Pada dasarnya Session dan Cookies adalah serangkaian informasi yang tersimpan pada suatu tempat ketika kita berselancar di dunia maya dengan web browser. untuk mengenal lebih lanjut, mari kita bahas perbedaannya masing-masing:

SESSION

Session atau Session State memungkinkan kita untuk menyimpan informasi atau data yang akan tersimpan pada sisi server (server side). Informasi yang disimpan terlindungi atau terproteksi karena tidak pernah terbagi dengan sisi klien atau client side dan session ini bersifat unik. Setiap klien yang mengakses sebuah website mempunya mempunyai session state yang berbeda-beda yang berisikan informasi yang berbeda-beda pula. contoh penggunaan session state pada sebuah website adalah penyimpanan informasi seperti item-item di keranjang belanja pada sebuah website belanja online, informasi lokasi dan bisa juga untuk menyimpan informasi user yang login kedalam website tersebut.

COOKIES

Cookies adalah serangkaian informasi yang tersimpan pada hardisk user atau jika hanya bersifat temporari maka akan tersimpan pada memori web browser. Cookie adalah cara lain dimana anda bisa menyimpan informasi untuk bisa digunakan kembali nanti. Contoh sederhana dari cookies adalah autentikasi log masuk atau login pada sebuah website. misalkan pada laman facebook, ketika memasukan email dan password di bagian bawahnya terdapat centang yang memperbolehkan kita untuk tetap login. jika opsi ini dipilih, selama kita tidak mengklik logout maka kita tidak perlu login kembali saat kita membuka laman atau website tersebut.

SESSION DAN COOKIES PADA ASP.NET C#

Setelah tadi kita membahas pengertian dari session dan cookies, sekarang kita akan mencoba menggunakan session dan cookies pada ASP.NET.

ada beberapa cara untuk membuat session pada asp.net C#, yaitu:

Session.Add("UserName", "Fahmi");

atau

Session["UserName"] = "Fahmi";


“UserName” yang diberikan diatas adalah ID dari session yang dibuat tersebut sedangkan “Fahmi” adalah value yang diberikan kepada ID session.
Seletlah session berhasil dibuat, tentu kita ingin mengakses session tersebut untuk dapat digunakan di web kita. berikut adalah cara mengakses session tersebut:

 

string UserName = Session["UserName"].ToString();
Response.Write(UserName);



atau kita dapat mengganti session name dengan index dari session tersebut, dengan catatan kita sudah mengetahui posisi dari session itu sendiri. contohnya:

string UserName = Session[0].ToString();
Response.Write(UserName);



selanjutnya kita akan memberikan tenggang waktu atau timeout dari session tadi.

Session.Timeout = 10;



nilai 10 ini adalah dalam satuan menit. jika web kita idle selama lebih dari 10 menit, maka seluruh session tadi akan terhapus.

Kemudian bagaimana jika ingin menghapus semua session yang telah dibuat? berikut contohnya:


Session.Clear();


Selanjutnya, kita akan membahas cara membuat atau mendeklarasikan sebuah cookies.
 

HttpCookie UserInfo = new HttpCookie("UserInfo");


kemudian kita berikan value kedalam object cookies tersebut:

UserInfo["UserID"] = "fahmi";
UserInfo["UserName"] = "Nur Fahmi Salami";


cookies juga mempunyai masa aktif atas expired date, untuk itu kita akan memberikan masa berlakunya:

UserInfo.Expires = DateTime.Now.AddYears(1);


tentu saja masa berlakunya dalam satuan tanggal, dari potongan kode diatas kita telah memberikan masa berlaku cookies tersebut selama 1 tahun.
setelah proses pendeklarasian cookies selesai, kita akan meng-attach cookies tersebut kedalam response web yang kita buat:

Response.Cookies.Set(UserInfo);


Untuk mengakses atau membaca data cookies yang sudah dibuat, kita dapat menggunakan kode seperti dibawah ini:

HttpCookie UserInfo = Request.Cookies["UserInfo"];

if (UserInfo != null)
{
if (UserInfo.Values.Count != 0)
{
string UserID = UserInfo["UserID"].ToString().Trim();
string UserName = UserInfo["UserName"].ToString().Trim();
Response.Write("Your user id: " + UserID);
Response.Write("Your name is: " + UserName);
}
}


kemudian jika kita ingin menghapus cookies yang sudah tersimpan, cukup dengan memberikan nilai expired yang lebih kecil atau tanggal hari sebelumnya, contohnya:

Request.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);


Demikian informasi atau sekedar tutorial dari saya. semoga bermanfaat.
Jangan lupa follow akun @belajarngoding dan like facebook fan pages belajarngoding