PDA

View Full Version : سوال: غیر فعال کردن یک session سراسری در یک صفحه خاص



zhr.rezae66i
پنج شنبه 27 تیر 1392, 09:09 صبح
سلام
ما ی برنامه داریم که ازیک session برای تمام صفحات استفاده می کنه
اما در یک صفحه من نمیخام timeOut داشته باشه و هیچوقت expire نشه
چکار باید بکنم؟

amirsajjadi
پنج شنبه 27 تیر 1392, 14:10 عصر
منظورتون از صفحه خاص چیه؟
این کار باعث میشه که مدیریت دقیقی روی سیشن داشته باشید یعنی اینکه اگه کاربر صفحه مرورگر رو بست دیگه سیشن از حافظه پاک نمیشه و باعث میشه فضای رم سرور اشغال بشه. میشه بپرسم این کار رو برای چی میخواین انجام بدید؟


باید توی web.config مقدار timeout رو تغییر بدی.

http://forums.asp.net/t/1143744.aspx
http://forums.asp.net/t/1285066.aspx

zhr.rezae66i
شنبه 29 تیر 1392, 14:13 عصر
ببینید ی سایت که قسمتهای زیادی داره
یکی ازین قسمتها نباید بعد از چند دقیقه session , expire بشه

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

tree1371
شنبه 29 تیر 1392, 14:18 عصر
دوست عزیز اگر عملیات تحت سرور انجام بشه اون سشن پا برجا می مونه درصورتی سشن بسته میشه که بعد از زمان تعیین شده که خودکار 20 دقیقه هست هیچ کاری انجام نده.

amirsajjadi
شنبه 29 تیر 1392, 14:26 عصر
سیشن در حالت عادی اگر تراکنشی بین کلاینت و سرور باشه expire‏ نمیشه ولی اگر کاربر هیچ کاری با سایت انجام نده منقضی میشه. تنها راه جلوگیری از منقضی نشدن همون به تعویق انداختن سیشن بزای مدتی طولانی هست

Progman.ir
شنبه 29 تیر 1392, 16:14 عصر
سلام
ما ی برنامه داریم که ازیک session برای تمام صفحات استفاده می کنه
اما در یک صفحه من نمیخام timeOut داشته باشه و هیچوقت expire نشه
چکار باید بکنم؟
اینکه نمیخوای حین کار سشن اکسپایر بشه رو باید در web.config مدت زمانشو تعیین کنی.
اما اگر بعد از مدتی که سراغ صفحه ای که سشن رو چک میکنه نری یا اینکه بری اما دست به چیزی نزنی و بعد توی اون صفحه لینکی رو کلیک کنی و بفهمی سشن اکسپایر شده رو باید با کمک مدیر هاستت حلش کنی که باید Session Idle Time رو توی تنظیمات iis افزایش بده برات

zhr.rezae66i
یک شنبه 30 تیر 1392, 11:31 صبح
خب اون صفحه خاص ممکنه با موس یا کلیک حرکتی صورت نگیره اما اطلاعاتو کاربر داره میبینه ، چون هر 2 دقیقه اطلاعات جدید نمایش داده میشه. و نیازه که حتی اگه کاربر کاری نکنه سشن پا برجا بمونه

و نباید بپره بیرون

و اینکه اگر در web config مدت زمانشو تغییر بدم، مگه برای همه صفحات تغییر نمیکنه؟
این سشن باید مدت زمانش برای همه صفحات مثلا 20 دقیقه باشه اما برای یک صفحه خاص مثلا 3 ربع باشه یا اصلا سشن توش کار نکنه و نپره بیرون

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

amirsajjadi
یک شنبه 30 تیر 1392, 12:42 عصر
خب اون صفحه خاص ممکنه با موس یا کلیک حرکتی صورت نگیره اما اطلاعاتو کاربر داره میبینه ، چون هر 2 دقیقه اطلاعات جدید نمایش داده میشه. و نیازه که حتی اگه کاربر کاری نکنه سشن پا برجا بمونه

و نباید بپره بیرون

و اینکه اگر در web config مدت زمانشو تغییر بدم، مگه برای همه صفحات تغییر نمیکنه؟
این سشن باید مدت زمانش برای همه صفحات مثلا 20 دقیقه باشه اما برای یک صفحه خاص مثلا 3 ربع باشه یا اصلا سشن توش کار نکنه و نپره بیرون

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

منظور من از تراکنش همون استفاده از سیشن هست. یعنی اگر شما دارید هر دو دقیقه اطلاعات رو چک میکنید، دارید یک تراکنش انجام میدید و سیشن پابرجا میمونه. ولی اگه صفحه مرورگر کاربر بسته بشه دیگه هیچ تراکنشی بین کلاینت و سرور برقرار نیست و سیشن بعد از بیست دقیقه پاک میشه.
سیشن یک متغیر سراسری از نوع collection توی کل سایت هست و مخصوص یک صفحه خواص نیست که بتونید برای یک صفحه اون رو تغییر بدید.
اگر خیلی اصرار دارید که سیشن رو بینهایت کنید و هیچ وقت منقضی نشه بهتره از کوکی استفاد کنید.