ورود

View Full Version : سوال در مورد session



M_sadegh
سه شنبه 13 بهمن 1388, 19:18 عصر
با سلام خدمت دوستان محترم:
من صفحه ای دارم که پارامتری را در session ذخیره می کنم و در کلاینت هم به خوبی کار می کند
اما بعد از آپلود در سرور session ها خود به خود Null می شوند(بعضی مواقع و بعضی مواقع به درستی کا می کند) و پیام زیر را دریافت می کنم:
Object reference not set to an instance of an object.


خطا در اینجا:

user reg = new user();
bool iscorrect = false;
if (Session["answer"].ToString().Equals(txtcode.Text.ToLower()))
iscorrect = true;
if (iscorrect

mp2009
سه شنبه 13 بهمن 1388, 19:33 عصر
این پیغام نشون میده که سشن شما مقدار دهی نشده است و قبل از صدازدن آن باید تعریف شده باشد.
سشن شما کی و کجا ایجاد میشود؟

M_sadegh
سه شنبه 13 بهمن 1388, 19:52 عصر
با تشکر از پاسخ شما همان طور که عرض کردم در کلاینت به خوبی کار میکند اما در سرور این مشکل پیش می آید سشن در هنگام لود صفحه ایجاد می شود

M_sadegh
سه شنبه 13 بهمن 1388, 20:10 عصر
امکان دارد مشکل از سرور باشد؟

captain_black81
دوشنبه 17 اسفند 1388, 14:51 عصر
منم این مشکلو دارم

اگه میشه کمک کنید
در کلاینتها سشن پر میشود و کار میکند اما وقتی سورس رو به سرور انتقال میدم null هستند

Peyman.Gh
دوشنبه 17 اسفند 1388, 14:54 عصر
اگر تکیه ای از کدتون رو بزارید راحتر میشه نظر داد.

naeeme
دوشنبه 17 اسفند 1388, 15:30 عصر
ممکنه timout مربوط به session در سرور کوتاه تعریف شده باشه. چک کنید که در web.config شما صراحتا timout رو مشخص کرده باشید و از پیشفزض سرور استفاده نمی کنید.

mehdi.mousavi
دوشنبه 17 اسفند 1388, 15:33 عصر
با سلام من صفحه ای دارم که پارامتری را در session ذخیره می کنم و در کلاینت هم به خوبی کار می کند اما بعد از آپلود در سرور session ها خود به خود Null می شوند(بعضی مواقع و بعضی مواقع به درستی کا می کند) و پیام زیر را دریافت می کنم:
Object reference not set to an instance of an object.


خطا در اینجا:

user reg = new user();
bool iscorrect = false;
if (Session["answer"].ToString().Equals(txtcode.Text.ToLower()))
iscorrect = true;
if (iscorrect





سلام.
شما بدون اینکه از null بودن/نبودن Session["answer"] اطمینان حاصل کنید، دارید روش ToString رو میزنید. کد فوق، رو باید اینطور بنویسید:


object answer = Session["answer"];
if(answer != null && answer.ToString().Equals(txtcode.Text.ToLower()) {
}

موفق باشید.

captain_black81
دوشنبه 17 اسفند 1388, 16:14 عصر
مشکل حل شد
بذارید واسه دوستانی که بد سوالو فهمیدن بگم

اصلا سشن نال نیست که با یه شرط بشه حلش کرد
من توی تنظیمات سرور :
session view state=inproc کردم و درست شد

mehdi.mousavi
دوشنبه 17 اسفند 1388, 16:18 عصر
مشکل حل شد
بذارید واسه دوستانی که بد سوالو فهمیدن بگم

اصلا سشن نال نیست که با یه شرط بشه حلش کرد
من توی تنظیمات سرور :
session view state=inproc کردم و درست شد

سلام.
شما شرط رو باید بذارید، چون وقتی expire بشه، null هستش و شما روش متود ToString رو call میکنید و همون خطا رو خواهید گرفت. در واقع، روش صحیح، نوشتن یک Property و Encapsulate کردن منطق ذخیره و بازیابی answer توی اون Property ها هستش. تنظیم بالا در فایل web.config نباید باعث نادیده گرفتن این مطلبی که خدمتتون عرض کردم، بشه.

موفق باشید.