bftarane
دوشنبه 11 اردیبهشت 1391, 20:10 عصر
سلام. من يه کد ساده با کمک کتاب آقاي قمي نوشتم که به مدت 10 دقيقه يه شي از نوع DateTime در Cache حفظ بشه.
مشکل اينجاست که وقتي Visual Studio رو مي بندم و دوباره باز مي کنم و برنامه رو اجرا مي کنم انتظار دارم قسمت
if(Cache["TestItem"]==null) جوابش false باشه و کدي که در قسمت else هست اجرا بشه ولي اين اتفاق نمي افته.
البته وقتي برنامه اجرا شد و فقط صفحه رو ببندم اون طور که انتظار دارم جواب مي گيرم. ولي نمي دونم چرا وقتي برنامه رو کاملاً مي بندم و دوباره باز مي کنم Cache خاليه!!!!!!!!
با اين که مطمئنم اشکال از کد نيست کد رو هم ميزارم.
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
Label1.Text += "Page posted back.<br>";
else
Label1.Text += "Page created.<br>";
if (Cache["TestItem"]==null)
{
Label1.Text += "Creating TestItem...<br>";
DateTime TestItem = DateTime.Now;
Label1.Text += "StoringTestItem in cache for 30 second.<br>";
Cache.Insert("TestItem", TestItem, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));
}
else
{
Label1.Text += "Retrieving TestItem...<br>";
DateTime TestItem = System.Convert.ToDateTime(Cache["TestItem"]);
Label1.Text += "TestItem is '" + System.Convert.ToString(TestItem) + "'<br>";
}
Label1.Text += "<br>";
}
البته من اين کد رو فقط براي تست نوشتم. من دارم روي يه فروشگاه کار مي کنم که دارم براي سبد خريدش از مکانيسم کش استفاده مي کنم و متوجه اين مشکل شدم در اونجا. اول فکر مي کردم شايد ايراد از کدام باشه ولي وقتي برنامه ساده بالا هم جواب نداد به اين نتيجه رسيدم ايراد از کدها نيست.
لطفاً کمکم کنيد. مشکل از کجا مي تونه باشه؟ خيلي برام مهمه.:اشتباه:
مشکل اينجاست که وقتي Visual Studio رو مي بندم و دوباره باز مي کنم و برنامه رو اجرا مي کنم انتظار دارم قسمت
if(Cache["TestItem"]==null) جوابش false باشه و کدي که در قسمت else هست اجرا بشه ولي اين اتفاق نمي افته.
البته وقتي برنامه اجرا شد و فقط صفحه رو ببندم اون طور که انتظار دارم جواب مي گيرم. ولي نمي دونم چرا وقتي برنامه رو کاملاً مي بندم و دوباره باز مي کنم Cache خاليه!!!!!!!!
با اين که مطمئنم اشکال از کد نيست کد رو هم ميزارم.
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
Label1.Text += "Page posted back.<br>";
else
Label1.Text += "Page created.<br>";
if (Cache["TestItem"]==null)
{
Label1.Text += "Creating TestItem...<br>";
DateTime TestItem = DateTime.Now;
Label1.Text += "StoringTestItem in cache for 30 second.<br>";
Cache.Insert("TestItem", TestItem, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));
}
else
{
Label1.Text += "Retrieving TestItem...<br>";
DateTime TestItem = System.Convert.ToDateTime(Cache["TestItem"]);
Label1.Text += "TestItem is '" + System.Convert.ToString(TestItem) + "'<br>";
}
Label1.Text += "<br>";
}
البته من اين کد رو فقط براي تست نوشتم. من دارم روي يه فروشگاه کار مي کنم که دارم براي سبد خريدش از مکانيسم کش استفاده مي کنم و متوجه اين مشکل شدم در اونجا. اول فکر مي کردم شايد ايراد از کدام باشه ولي وقتي برنامه ساده بالا هم جواب نداد به اين نتيجه رسيدم ايراد از کدها نيست.
لطفاً کمکم کنيد. مشکل از کجا مي تونه باشه؟ خيلي برام مهمه.:اشتباه: