مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

keyvanzainy

عضویت از 1396/03/02

حل خطای session

  • دوشنبه 1 بهمن 1397
  • 23:37
تشکر میکنم

با سلام 

دوستان بنده در طراحی سایت به یک مشکلی برخوردم

وقتی روی یک صفحه ای در پنل کاربری هستم که داره از یک session استفاده میکنه و عملیات دریافت داده رو انجام میده 

چند دقیقه تو این صفحه نباشم و ازش استفاده نکنم خب در واقع وقت session به پایان میرسه و در سایت ها معمولا ب این شکله ک اگه وقت session تموم شده باشه صفحه رو بعد از چند دقیقه رفرش کنیم میره به صفحه لاگین

اما من وقتی بعد از چند دقیقه اومدم روی صفحه دریافت داده و رفرشش کردم بهم ارور داد 

این ارور رو چطور حلش کنم ؟

میخوام طوری بشه ک وقتی session زمانش به پایان رسید هر جا و در هر شرایطی هست خودش بره به صفحه لاگین ؟

کد من به این شکل هستش که توی کنترلر بخواد داده ای رو دریافت کنه اول میره ببینه session فعال هست یا خیر بعد از اون میاد عملیات رو اجرا میکنه

توی این کد زیری که من نوشتم بعد از چند دقیقه رفرش مجدد صفحه ازش error میگیره

1 public ActionResult Setting(Tbl_Customer c)
2        {
3            if (Session["User"] == null)
4                return RedirectToAction("CrLogin", "User");
5
6           string mobilenumber = Session["User"].ToString();
-
-
دستورات 
-
-

وقتی session تموم شد بعد از چند دقیقه بیام روی صفحه و رفرشش کنم از کد خط 6 خطا میگیره 
خطا زیر رو نمایش میده : 
Object reference not set to an instance of an object

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

امیر نهروان

عضویت از 1396/06/30

  • سه شنبه 2 بهمن 1397
  • 19:50
string value = Session["User"] as string;

if (String.IsNullOrEmpty(value))
{
    // null or empty
}

به نظر من اگر از این کد استفاده کنید دیگه خطا نمیبینید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)