PDA

View Full Version : سوال: چطوری میتونم واسه خبرهای سایت تاریخ انقضای نمایش مشخص کنم؟



behzad1367
شنبه 12 اسفند 1391, 20:01 عصر
سلام.من یه بخش مدیریت اخبار سایت دارم.میخام هر خبر که اضافه میکنم یه تاریخ اتمام نمایش هم بهش بدم که مثلا در تاریخ 15 اسفند نمایش اون قطع بشه.دوستان راهی دارن؟

مشکل اصلی من اینه که سایت از کجا باید تاریخ رو چک کنه که به تاریخ مقرر رسیده؟
اگه بزاریمم تومی تایمر که هر 1 ثانیه چک کنه تاریخ رو که خیلی بار صفحه زیاد میشه.

چه راهی وجود داره؟

Sirwan Afifi
شنبه 12 اسفند 1391, 20:24 عصر
شما وقتی میخواید در صفحه اخبار لیست اخبار رو نشون بدید توی همون کوئری میتونید بهش بگید اگر تاریخ امروز بزرگتر مساوی تاریخ انقضای خبر بود نشون نده.

behzad1367
شنبه 12 اسفند 1391, 20:26 عصر
عزیز من مشکل همینه دیگه.تا زمانی که صفحه رفرش نشه که این شرط اجرا نمیشه! اومدیم و 2 روز مثلا صفحه رفرش نشد بعدش دیگه این شرط اصلا اجرا نمیشه که بخاد چکش کنه!

Sirwan Afifi
شنبه 12 اسفند 1391, 20:37 عصر
خوب بدترین حالت استفاده از Timeه که اصلا پیشنهاد نمیکنم ازش استفاده کنی چون به ازای هر Tick یه Request باید به سمت Server بره و ....
از UpdatePanel هم که استفاده کنی همین قضایا هست که اونم به ازای هر Tick کل فرآیند page life-cycle رو از اول انجام میده و...

mahmood_4246
شنبه 12 اسفند 1391, 20:40 عصر
عزیز من مشکل همینه دیگه.تا زمانی که صفحه رفرش نشه که این شرط اجرا نمیشه! اومدیم و 2 روز مثلا صفحه رفرش نشد بعدش دیگه این شرط اصلا اجرا نمیشه که بخاد چکش کنه!

مهندس کجای دنیا 2 روز صفحه رو رفرش نمیکنن .. شما یه تایمر جاوااسکریپتی بذار با جی کوئری هر چند دقیقه یک بار برات رفرش کنه .. نمونه مثالاش زیاده
گرچه خود من چیزی که دوستمون گفت رو قبلا پیاده سازی کردم .. بدون مشکل

Sirwan Afifi
شنبه 12 اسفند 1391, 20:41 عصر
حالا شما اگر اصرار دارید میتونید با استفاده از jQuery AJAX هر 5 دقیقه یک بار یه درخواست AJAXی به سرور بفرستی و جدیدترین دیتاها رو ازش بگیری.

bftarane
شنبه 12 اسفند 1391, 21:06 عصر
من فکر کنم قضيه خيلي ساده تر از اين حرفا باشه و نيازي هم به تايمر و اين حرفا نباشه. مگر اينکه من قضيه رو بد گرفته باشم.
خوب فرض کنيد کد زير رو داريم
تاريخ انقضا هم 15 ام ثبت شده باشه.

select * from tbl_news where GETDATE()<ExpiredDate
کاربر اگه قبل از روز 15 ام صفحه رو باز کرد که خبر رو مي بينه اگه هم روز 15 ام يا بعدش باز کرد که خبر رو نمي بينه.

در واقع همون حرفي که آقا سيروان گفتن

شما وقتی میخواید در صفحه اخبار لیست اخبار رو نشون بدید توی همون کوئری میتونید بهش بگید اگر تاریخ امروز بزرگتر مساوی تاریخ انقضای خبر بود نشون نده.

dabirsiaghi
شنبه 12 اسفند 1391, 21:07 عصر
شاید بتونید از SignalR کمک بگیرید
بکمک این لایبرری می توان از سمت سرور به کلاینت request ارسال کرد