Hızlıca bunları açıklayarak birer örnek gösterip belirli avantaj ve dezavantajlardan bahsedeceğiz. Hadi başlayalım;
Session, cookie gibi data saklamaya yarar fakat cookie den büyük bir farkı vardır. Session da bilgiler server tarafında tutulur. Bu yüzden server da oluşabilecek problemlerde sessionlar da etkilenir. Bununla beraber sessionların yüksek trafikli durumlarda kullanılması tavsiye edilmez, çünkü sessionlar bellekte (in-memory) tutulduğu için yoğunlukla beraber belleğin şişmesine sebep olabilir.
Buna çözüm olarak alternatif yollar vardır. Örneğin session bilgilerini Redis üzerinde tutmak.
https://www.borakasmer.com/asp-net-core-mvc-bir-projede-session-bilgilerini-redisde-tutma/
Örnek kullanım;
Startup.cs içerisinde sessionı aktif edelim.
1 |
services.AddSession(); |
1 |
app.UseSession(); |
1 2 |
HttpContext.Session.SetString("UserName", "Enes Aysan"); --Yazma HttpContext.Session.GetString("UserName"); --Okuma |
https://medium.com/@selcukusta/bir-vaka-i%CC%87ncelemesi-asp-net-coreun-cookie-i%CC%87le-i%CC%87mtihan%C4%B1-c9404b16a4d5
1 2 3 |
CookieOptions cookieOptions = new CookieOptions(); cookieOptions.Expires = DateTime.Now.AddMinutes(5); Response.Cookies.Append("UserNameCookie", "EnesAysan", cookieOptions); |
1 2 3 4 5 6 |
<script> localStorage.setItem('UserNameLocalStorage','Enes Aysan'); --Yazma localStorage.getItem('UserNameLocalStorage'); --Okuma localStorage.removeItem('UserNameLocalStorage'); --Kayıt Silme localStorage.clear(); --Tüm verileri silme </script> |

1 2 3 4 5 6 |
<script> sessionStorage.setItem('UserNameSessionStorage','Enes Aysan'); --Yazma sessionStorage.getItem('UserNameSessionStorage'); --Okuma sessionStorage.removeItem('UserNameSessionStorage'); --Kayıt Silme sessionStorage.clear(); --Tüm verileri silme </script> |
Umarım faydalı olmuştur, kalın sağlıcakla…