State in asp.net - Part 2
תקראו את הקוד הבא
Application.Add("a", "a");
Application.Add("a", "b");
Session.Add("a", "a");
Session.Add("a", "b");
Cache.Add("a", "a", null, ...);
Cache.Add("a", "b", null, ...);
Context.Items.Add("a", "a");
Context.Items.Add("a", "b");
var a1 = Application["a"];
var a2 = Session["a"];
var a3 = Cache["a"];
var a4 = Context.Items["a"];
לפני שתמשיכו לקרוא תחשבו קצת מה יקרה לדעתכם ?
אז ככה.
ה - Application לא ישנה את הערך שלו ולכן לא כדאי אף פעם להשתמש ב - Add ותמיד להשתמש ב - Indexer.
ה - Session קורא ל - Indexer הפנימי בקריאה ל - Add ולכן הערך ישתנה.
ה - Cache מתנהג כמו Application
ה - Context.Items הוא Dictionary רגיל ולכן זה יתרסק בניסיון להכניס פעמיים את אותו ערך.