PDA

View Full Version : سوال: اتمام زمان session بعداز بستن مرور گر



reza4359
دوشنبه 03 بهمن 1390, 12:11 عصر
سلام دوستان باید چه کار کرد که با بستن مرور گر session به پایان برسه؟
و برای بازدید مجدد از صفحه به صفحه لاگین هدایت بشه؟
ممنون

hamid_shrk
دوشنبه 03 بهمن 1390, 12:41 عصر
تو تعریف پیش فرض سشن وقتی کاربر خودش صفحه رو ببنده سشن هاش هم اتوماتیک به پایان میرسه.

reza4359
دوشنبه 03 بهمن 1390, 12:50 عصر
ولی داخل وب من اینطوری عمل نمیکنه
و وقتی وارد قسمت مدیریت وب سایت میشم و مرور گر رو میبندم و دوباره باز میکنم سشن همچنان باقی هست و دوباره به همون صفحه میره!!

hamid_shrk
دوشنبه 03 بهمن 1390, 13:08 عصر
سشن رو بررسی میکنید که اگه نبود از صفحه خارجش کنه؟
احتمالا شما یک تب رو میبندید نه کل مرورگر

reza4359
دوشنبه 03 بهمن 1390, 13:55 عصر
نه سشن رو چطوری باید بررسی کنم؟
با بستن tab هم باید سشن پاک بشه

hamid_shrk
دوشنبه 03 بهمن 1390, 14:28 عصر
if(session["username"]==null)
response.redirect("login.aspx");

reza4359
دوشنبه 03 بهمن 1390, 15:40 عصر
if(session["username"]==null)
response.redirect("login.aspx");

سلام من اینو داخل مستر پیچ قرار دادم این پیغامو میده
The page isn't redirecting properly

hamid_shrk
دوشنبه 03 بهمن 1390, 16:28 عصر
کجای مسترپیج؟

reza4359
دوشنبه 03 بهمن 1390, 17:32 عصر
داخل page load

veniz2008
دوشنبه 03 بهمن 1390, 17:45 عصر
با سلام خدمت همه دوستان،خواستم تاپیک جدید ایجاد کنم دیدم موضوع شبیه به مشکل خودم هستش،دوستان میخوام که با زدن دکمه خروج سشن مربوط به کاربر پاک بشه و به صفحه اول سایت بره،مشکلم اینه از هر کدی استفاده میکنم پاک نمیشه،از کد session.remove("username") استفاده کردم جواب نداد،از session.clear هم استفاده کردم جواب نداد(کاربر به صفحه اول سایت میاد ولی وقتی دکمه back مرورگر رو میزنه و وارد صفحه ای که از اون خارج شده برمیگرده،دوباره مقدار سشن کاربر نمایش داده میشه و در واقع پاک نمیشه)،اینم کدی که استفاده میکنم:


protected void Page_Load(object sender, EventArgs e)
{
if (Session["username"] != null)
Label1.Text = Session["username"].ToString();
else
Response.Redirect("HomePage.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
Session.Remove("username");
Response.Redirect("HomePage.aspx");
}

hamid_shrk
دوشنبه 03 بهمن 1390, 18:00 عصر
Session["username"].Abandon();

یا

Session["username"].Clear();

reza4359
دوشنبه 03 بهمن 1390, 18:04 عصر
Session["username"].Abandon();

یا

Session["username"].Clear();

دوست عزیز شما اینجا نیاز به یک تبدیل به رشته دارید و این متد اشتباست
Session["username"].tostring();

favour2
دوشنبه 03 بهمن 1390, 18:27 عصر
در دکمه خروج کد های زیر نوشته شود : Session.Abandon();
Response.Write("<script language=javascript>var wnd=window.open('','newWin','height=1,width=1,left =900,top=700,status=no,toolbar=no,menubar=no,scrol lbars=no,maximize=false,resizable=1');</script>");
Response.Write("<script language=javascript>wnd.close(); </script>");
Response.Write("<script language=javascript>window.open('HomePage.aspx','_parent',replace=true );</script>");

veniz2008
دوشنبه 03 بهمن 1390, 18:37 عصر
ضمن تشکر از دوستان ولی هیچکدوم از کدها جواب نمیده.

mahmood_4246
دوشنبه 03 بهمن 1390, 19:05 عصر
تو متد Application_End فایل Global.asax دستور

Session["username"].Abandon();

رو بنویس

veniz2008
دوشنبه 03 بهمن 1390, 19:31 عصر
تو متد Application_End فایل Global.asax دستور

Session["username"].Abandon();

رو بنویس
دوست عزیز،برنامه این مدلی که شما نوشتید رو قبول نمیکنه،ولی من یک فایل global به برنامه اضافه کردم و داخل متدی که شما گفته بودید دستور مورد نظر رو نوشتم ولی هیچ تاثیری نداشت.

reza4359
دوشنبه 03 بهمن 1390, 22:13 عصر
دوستان فکر نمیکنم این بحث زیاد پیچیده باشه پس نذارید زیاد ادامه پیدا کنه و لطفا این مشکل رو حل کنید

M.KH-SH
دوشنبه 03 بهمن 1390, 22:31 عصر
در مورد asp اطلاعات خیلی کمی دارم ولی اگه هیچ کدوم از روش های بالا نشد شما میتونی session رو با یک مقدار جدید که هیچ کاربری از اون استفاده نمیتونه کنه پر کنین اینجوری مشکل حل میشه

یعنی هنگام زدن دکمه log out مقدار مثلا Session.Add("user","*5*5*5") پر کنین که دیگه مشکل پیش نیاد
البته این یک ایده هست نه یک راه حل

با تشکر

sg.programmer
دوشنبه 03 بهمن 1390, 22:48 عصر
از این استفاده کن


if (String.IsNullOrEmpty(s))

reza4359
دوشنبه 03 بهمن 1390, 23:47 عصر
از این استفاده کن


if (String.IsNullOrEmpty(s))

میشه در موردش توضیح بدید؟
منظور از "s" چیه؟

hamid_shrk
سه شنبه 04 بهمن 1390, 08:32 صبح
جدی یعنی این سوال اینقدر سخته!!؟
خیر سخت نیست تمام دوستان تجربه کافی دارند و کد هایی رو که میزارند رو 100بار تست کردن و شما به راحتی تمام راه ها رو رد میکنی!!!!!
ایشون تو برنامشون یک مشکلی وجود داره که سشنشون خالی نمیشه و برای حلش هم باید کدهاشون رو بزارن.

sg.programmer
سه شنبه 04 بهمن 1390, 09:50 صبح
میشه در موردش توضیح بدید؟
منظور از "s" چیه؟

هم نال و هم خالی بودن را بررسی میکنه
همون session هست


if (String.IsNullOrEmpty(session["username"]))
response.redirect("login.aspx");


اگه درست نشد کدتون را قرار بدید تا بررسی شه

reza4359
سه شنبه 04 بهمن 1390, 11:11 صبح
هم نال و هم خالی بودن را بررسی میکنه
همون session هست


if (String.IsNullOrEmpty(session["username"]))
response.redirect("login.aspx");


اگه درست نشد کدتون را قرار بدید تا بررسی شه
دوست عزیز اولا این کد نیاز به یک تبدیل به رشته داره
مشکل من خالی بودن سشن بعد از خروج از سایت نیست و بعد از خروج سشن خالی میشه من با این مشکلی ندارم
میخوام با بستن مرور گر یا بستن یک تب سشن خالی بشه
منظورتون از گذاشتن کد چیه!؟ چه کدی رو باید اینجا بذارم!؟
شما بگید باید چه تغیراتی رو در وبم بدم یا اگه کدی رو معرفی میکنید بگید که کجا باید قرارش بدم؟
ممنون