PDA

View Full Version : مشکل در time oute شدن sesion



jamali_yosef
سه شنبه 19 دی 1391, 16:58 عصر
سلام دوستان خسته نباشید.

من یوزر نیم و آی دی کاربر را هنگام لاگین تو session ذخیره میکنم. و مدت زمان session را تو وب کانفیگ 10 دقیقه قرار دادم وقتی کاربر لاگین میکنه و میره یه تاپیک جدید ایجاد کنه مشکلی نیست و اونو به صفحه newthread.aspx هدایت میکنه. اما اگه بعدا ایجاد تاپیک پروژه رو ببندم و دوباره اجرا کنم و بدون لاگین کردن دوباره روی تاپیک جدید کلیک کنم این خطا رو میده .Object reference not set to an instance of an object. به صفحه لاگین هدایت نمیکنه.
میخوام بدونم چطور موجود بودن session زا کنترل کنم. تو رویداد لود صفحه newthraed.aspx این دستور رو نوشتم.



protected void Page_Load(object sender, EventArgs e)

{



if (HttpContext.Current.User.Identity.IsAuthenticated )

{

lbl_username.Text = Session[

"username"].ToString();

lbl_userid.Text = Session[

"User_Id"].ToString();

}



else

{



FormsAuthentication.RedirectToLoginPage();

}

malloc
سه شنبه 19 دی 1391, 18:38 عصر
تجربه من اینو میگه که فرق نمیکنه شما کجا سشن و فراخونی میکنی (هرجا لازم داری برای کنترل کردن چک کن اونو . اما معمولا تو لود صفحه مستر اینکار و میکنن) ولی نکته اصلی اینه که تو باید حتما از try و catch استفاده کنی تا خطای object refrence نده .

ali9698
سه شنبه 19 دی 1391, 21:55 عصر
یه if بزار. چک کنه که:
session.keys.count باید بزرگتر از صفر باشه.

mahmood_4246
سه شنبه 19 دی 1391, 22:08 عصر
جواب دوستان پاک کردن صورت مسئله هستش
Session های شما از سمت سرور KILL میشن
با پشتیبانی هاست خودتون یه صحبتی کنید تا راهنماییتون کنه

ali9698
سه شنبه 19 دی 1391, 22:42 عصر
جواب دوستان پاک کردن صورت مسئله هستش
Session های شما از سمت سرور KILL میشن
با پشتیبانی هاست خودتون یه صحبتی کنید تا راهنماییتون کنه
شما سوال دوستمون رو یه بار کامل بخون. هنوز سایتی آپلود نشده که با پشتیبانی هاست صحبت کنه!
تازه داره سایتش رو میسازه

ali9698
سه شنبه 19 دی 1391, 22:45 عصر
اما جواب سوال: (تا اونجایی که من میدونم)
وقتی پروژه بسته میشه سشن پاک میشه. اما اگر لاگین کرده باشید خودش logout نمیشه

mahmood_4246
چهارشنبه 20 دی 1391, 01:39 صبح
شما سوال دوستمون رو یه بار کامل بخون. هنوز سایتی آپلود نشده که با پشتیبانی هاست صحبت کنه!
تازه داره سایتش رو میسازه
دادا به شما گفته که آپلود کرده یا نه ؟ کجاش نوشته بگو ما هم بخونیم
من خودم همچین مشکل رو داشتم .. ایشون راه حل برطرف کردن time out رو میخواد .. نه این که چک کنه خالی هست یا نه .. یا جواب دومت که طرف کجا گفته مرورگر بسه شده ؟!!!!!!!!

jamali_yosef
چهارشنبه 20 دی 1391, 10:55 صبح
با تشکر از تمامی دوستانی که به این تاپیک پاسخ دادند.

اما دوستان یه نکته رو بگم که من سایت رو هنوز آپلود نکردم و تو localhost این خطا رو میده. و یکی از دوستان که میگن تو try ... catch قرار بدم در این صورت هم تو صفحه newthread.aspx نمی تونم نام کاربر رو بدست بیارم و مشکل همچنان باقی است.

Mohamad1362
چهارشنبه 20 دی 1391, 12:28 عصر
روش چک کردن Session به این صورته :
if (Session["username"] != null)
ولی کلا پیشنهاد می کنم که از Session واسه این کار استفاده نکنی

ali9698
چهارشنبه 20 دی 1391, 13:29 عصر
دادا به شما گفته که آپلود کرده یا نه ؟ کجاش نوشته بگو ما هم بخونیم
من خودم همچین مشکل رو داشتم .. ایشون راه حل برطرف کردن time out رو میخواد .. نه این که چک کنه خالی هست یا نه .. یا جواب دومت که طرف کجا گفته مرورگر بسه شده ؟!!!!!!!!
وقتی که توی سوالش گفته 'پروژه رو میبندم و دوباره اجرا میکنم' یعنی این که آپلود نشده. منم نگفتم مرورگر بسته شده گفتم پروژه بسته شده. اگه مرورگرش IE نباشته وقتی پروژه رو stop کنه یا ببنده مرورگر بسته نمیشه.
داداش من، دعوا که نداریم. چرا به دل میگیری؟!:ناراحت: شما با جوابی که داده بودی جواب های بقیه رو کاملا زیر سوال برده بودی و تازه خودتم جواب درستی نداده بودی. واسه همین من گفتم که حداقل سوال رو درست بخون و جواب درست بده، بعد جواب های بقیه رو 'پاک کردن صورت مسئله' تشخیص بده. الان هم اگر ناراحت شدی رسما عذرخواهی میکنم. حله؟!