PDA

View Full Version : سوال و همکاری - expire شدن session زودتر از زمان تعیین شده در web.config



resident
دوشنبه 06 بهمن 1393, 15:10 عصر
سلام. من اطلاعات کاربران مثل id شونو تو session نگه میدارم اما مشکلم اینه که خیلی خیلی زود expire میشه.
تو web.config زمان timeout اش رو زیاد کردم ام 4-5 دقیقه یکیار expire میشه.
چطور میتونم درستش کنم؟
یا
اگه کسی می تونه این مشکل رو حل کنه، اعلام کنه ، دستمزد رو پرداخت می کنم.
مرسی

aliphp1
دوشنبه 06 بهمن 1393, 16:38 عصر
یکبار من همچین مشکلی داشتم
بعد متوجه شدم که سشن رو توی یک صفحه که با www شروع میشه میساختم ولی توی صفحه ای که بدون www بود میخواستم ازش استفاده کنم که این مشکل به وجود می اومد شما هم چک یک وقت این کار رو نکرده باشید چون بعید می دونم سرور قبل از زمانش سشن رو حذف کنه

resident
دوشنبه 06 بهمن 1393, 17:03 عصر
یکبار من همچین مشکلی داشتم
بعد متوجه شدم که سشن رو توی یک صفحه که با www شروع میشه میساختم ولی توی صفحه ای که بدون www بود میخواستم ازش استفاده کنم که این مشکل به وجود می اومد شما هم چک یک وقت این کار رو نکرده باشید چون بعید می دونم سرور قبل از زمانش سشن رو حذف کنه

برنامه من web application است.
من سشن رو موقع ورود کاربر ایجاد می کنم . فکر نمی کنم به www کاری داشته باشه. درسته؟

m4best
چهارشنبه 30 تیر 1395, 23:07 عصر
این اتفاق به دلیل عوض شدن machineKey هنگام ری استارت شدن اپلیکیشن رخ می‌دهد برای رفع این مشکل می‌توانید این مطلب "منقضی شدن سشن (Session) کاربر زودتر از زمان تایین شده (http://berneti.ir/blog/5/%D9%85%D9%86%D9%82%D8%B6%DB%8C-%D8%B4%D8%AF%D9%86-%D8%B3%D8%B4%D9%86-session-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D8%B2%D9%88%D8%AF%D8%AA%D8%B1-%D8%A7%D8%B2-%D8%B2%D9%85%D8%A7%D9%86-%D8%AA%D8%A7%DB%8C%DB%8C%D9%86-%D8%B4%D8%AF%D9%87)" را مطالعه کنید.

مهران موسوی
پنج شنبه 31 تیر 1395, 10:37 صبح
در IIS/.NET مکانیزم پیشفرض نگهداری سشن ها به اختصار InProc میباشد، که در واقع سشن ها در حافظه رم (volatile memory یا حافظه فرار) نگهداری میشوند. که این بدین معناست که اگر به هر دلیلی پرسه application pool وبسایت ریستارت یا ریسایکل شود (دلایل متعدد هستند / جستجو (https://www.google.com/webhp?sourceid=chrome-instant&rlz=1C1CHZL_enIR692IR692&ion=1&espv=2&ie=UTF-8#q=iis%20application%20pool%20restart%20reasons)) سشن های شما Lost خواهد شد.

Provider سشن خودرا جایگزین کرده مثلا ذخیره سازی در Sql Server یا برای Performance بهتر Redis پیشنهاد میشود.

machineKey را نیز به صورت ضمنی مشخص کنید مخصوصل اگر وب دیپلوی شما بر روی یک Web Farm انجام میشود.

شاد باشید