نمایش نتایج 1 تا 6 از 6

نام تاپیک: تایمر همراه با SESSION

  1. #1
    کاربر تازه وارد آواتار Nasim_m
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    فعلا توی ایران
    پست
    63

    تایمر همراه با SESSION

    من توی برنامه ام یک شمارنده دارم که آن را با تایمر آژاکس پیاده سازی کردم اما مشکل اینجا بود که اگر در حین کار کاربر صفحه را رفرش می کرد شمارنده دوباره از اول شروع به کار می کرد؟
    برای حل این مشکل من در هر تیک تایمر که شمارنده را تغییر می داد آن را در SESSION ذخیره کردم و در هنگام لود صفحه اگر POSTBACK نبود دوباره آن را در شمارنده قرار می دادم با این کار مشکل حل شده و شمارنده به هیج عنوان ریست نمی شود. ولی می خواستم بدانم که این روش چقدر بهینه است و آیا روش بهتری برای این کار وجود دارد یا نه؟

  2. #2
    کاربر دائمی آواتار shahab_ksh
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تو اطاقم
    پست
    1,388
    از قدیم گفتند سکوت علامت رضایته
    پس با این حساب من فرض می کنم که این بهترین کاریه که می شه کرد
    اگر هم بعدا کسی بهم گیر داد که این چه کاری بود که کردی؛ اسم و آدرس تک تکتون رو در میارم بعد میام حسابتون رو می رسم
    دیشب خواستم جواب سولتون رو بدم ولی فیلم دیدن رو تو نصف شب ترجیح دادم...
    خودتون رو تو دردسر نندازین بعدا گلگی و گریه و زاری راه بندازین من الان دارم میرم بیرون با دوستان شب اومدم اگه کسی رو نداد جوابتون رو میدم

  3. #3
    کاربر دائمی آواتار shahab_ksh
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تو اطاقم
    پست
    1,388
    اگه درست فهمیده باشم شما میخاین زمان مانده از سشن رو در هر صفحه ای که در سایتتون که میخاین برین داشته باشین

    برای افکت زیباتر شما میتونید زمان مانده که من بر حسب دقیقه در نظر می گیریم ( با جاوا اسکریپت یا فلش ) ترکیب کنید

    1- نقطه شروع کار شما اینه که همین آلان زمان سشن شما شروع شده و Time Out اون رو 20 دقیقه در نظر می گیرید

    پس در هنگام شروع سشن سشن جدیدی رو میسازیم به نام Start_Session و مقدار اون رو همین حالا به اضافه 20 دقیقه آینده میزاریم


    Session.Add("Start_Session", DateTime.Now.AddMinutes(20).ToShortTimeString)




    2- حالا در هر صفحه ای که مایل به بدست آوردن زمان مانده بر حسب دقیقه هستیم کافی



    Dim a As DateTime = CType(Session("Start_Session"), DateTime).ToShortTimeString
    Dim b As DateTime = Now.ToShortTimeString
    Dim c AsInteger = (a - b).Minutes


    Response.Write("Start Session Time " + a.ToShortTimeString)
    Response.Write("<br>")
    Response.Write("Now Time " + b.ToShortTimeString)
    If c <= 0 Then
    Response.Write("<br>")
    Response.Write("Session Is Time Out !!!")
    Else
    Response.Write("<br>")
    Response.Write(c.ToString + " Min To Time Out")
    Response.Write("<br>")
    EndIf



    متغیر a زمان شروع سشن بر حسب DateTime
    متغیر b زمان حال حاظر DateTime
    متغیر c اختلاف بین این دو زمان بر حسب دقیقه از نوع Integer که در حقیقت زمان مانده از سشن است

    امیدوارم منظور شما رو درست فهمیده باشم

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

  4. #4
    کاربر دائمی آواتار shahab_ksh
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تو اطاقم
    پست
    1,388
    این هم فایل عملی
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر تازه وارد آواتار Nasim_m
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    فعلا توی ایران
    پست
    63
    خیلی ممنون
    خیلی بدردم خورد اما نه توی اونجایی که لازم داشتم(یا من خوب جواب شما را نفهمیدم یا شما سوال منو)
    فرض کن توی صفحه یک تایمر طراحی کردیم که بعد ازلود اولیه صفحه ساعت شروع می کنه به صورت معکوس شمردن و بعد از تمام شدن زمان هم کاربر رو به یک صفحه دیگه می فرسته
    خوب حالا اگه در هنگام شمردن کاربر صفحه رو refreh کنه تایمر از اول شروع به کار می کنه
    مشکل اصلی من اینجاست و تنها راه حلی هم که به ذهنم رسید رو توی پست اول گفتم
    حالا نمی دونم جواب شما در این مورد کارایی داره یا نه
    ولی با این همه بازم کلی ممنون

  6. #6
    کاربر دائمی آواتار shahab_ksh
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تو اطاقم
    پست
    1,388
    خوب حالا اگه در هنگام شمردن کاربر صفحه رو refreh کنه تایمر از اول شروع به کار می کنه
    خوب اون مقدار متغیر c برای همینه که زمان باقیمانده از Session رو به شما میده شما باید مقدار اولیه برای شمردن به صورت معکوس رو برابر c قرار بدی که با هر بار پست شدن صفحه شمارنده از زمان باقی مانده شروع کنه

    البته من فرض رو بر این گذاشتم که شما منظورتون اینه که زمان مانده از Session رو در تمام صفحات بدست بیارید


    فرض کن توی صفحه یک تایمر طراحی کردیم که بعد ازلود اولیه صفحه ساعت شروع می کنه به صورت معکوس شمردن و بعد از تمام شدن زمان هم کاربر رو به یک صفحه دیگه می فرسته
    اینجاشو باید جوا اسکریپت کنی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •