View Full Version : سوال: چگونه میتوانیم در 3.5C# اسکجول درست کنیم
mamalti
چهارشنبه 07 مهر 1389, 11:28 صبح
باسلام به تمام دوستان و استادان عزیز
ممنون میشم راهنمایی کنید چطور میتوانم در یک تاریخ و ساعت مشخص یک عملیات خاص انجام شود مثلا میل فرستاده شود یا اس ام اس همانند کلندر جیمیل
با تشکر
flash118
چهارشنبه 07 مهر 1389, 12:09 عصر
دوست عزیز یه راه استفاده از تایمر هست که اینترولشو بزاری تو 1 ثانیه و هر ثانیه چک کنه که آیا به اون زمان انتخابی رسیدنه یا نه راه دوم استفاده از ریسمان هست که خیلی خوبیه و بهینه هست و راه سوم استفاده از handler های سیستم برای بازگشت پروسه شما هست که توصیه نمیشه چون دقیق نیست بهترین راه راه ریسمان و راه تایمر هم خوبه ولی بار اضافی به سیستم تحمیل میکنه زیرا هرثانیه باید اجرا و بررسی بشه موفق باشید در ضمن از سرویس intrupt سیستم باید استفاده کنید یادتون نره
mehdi.mousavi
چهارشنبه 07 مهر 1389, 12:14 عصر
باسلام به تمام دوستان و استادان عزیز ممنون میشم راهنمایی کنید چطور میتوانم در یک تاریخ و ساعت مشخص یک عملیات خاص انجام شود مثلا میل فرستاده شود یا اس ام اس همانند کلندر جیمیل با تشکر
سلام.
اگر کاری که میخواهید انجام بدید ساده هستش، میتونید از یک Timer استفاده کنید (http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx) (البته به شرطیکه برنامه شما همواره در حال اجرا باشه، تا اون Timer کار کنه و در هنگام مقتضی Expire شدنش رو شما متوجه بشید که بتونید کار مورد نظر رو انجام بدید).
اما اگر برنامه شما در حال اجرا نباشه، اونوقت نیاز به سرویسی دارید که اینکارو برای شما انجام بده و شما رو در هنگام مقتضی مطلع کنه. خوشبختانه با وجود Task Scheduler 2.0 دیگه نیازی به نوشتن چنین سرویسی بصورت دستی نیست و می تونید از سرویس موجود در ویندوز استفاده کنید. این مقاله (http://msdn.microsoft.com/en-us/magazine/cc163350.aspx)، جزییات استفاده از Task Scheduler API ها رو بهتون یاد میده (البته مثالها به زیان C++ هستش و باید به COM نیز مسلط باشید).
اما خوشبختانه انتخاب دیگه ای نیز هست. شما میتونید از Task Scheduler Managed Wrapper (http://taskscheduler.codeplex.com/) استفاده کنید. کدهای مربوطه مثال داره و شما رو در استفاده از اون راهنمایی میکنه. (اما با اینحال، توصیه میکنم اول مقاله فوق رو بخونید تا نحوه کار با API ها دستتون بیاد).
در نهایت، اگر داده ها رو در بانک نگه میدارید، میتونید از SQL Server Agent استفاده کنید. بدین ترتیب که Job ای برای SQL Server تعریف کنید که اون Job در فواصل مشخصی کدی رو اجرا کنه. سپس از روی داده ها، می تونید به این موضوع پی ببرید که آیا نیازی به ارسال یک Record (حالا SMS، MMS و ...) هست یا خیر.
اگر Application شما Mission Critical هستش نیز باید از Timer هایی با Resolution بالا استفاده کنید. به گمانم من قبلا در این مورد توضیح داده باشم. در هر حال، گوگل دوست شماست. با اندک جستجویی میتونید با این نوع Timer ها نیز آشنا بشید.
موفق باشید.
mamalti
چهارشنبه 07 مهر 1389, 12:24 عصر
با تشکر از دو دوست عزیز که بطور کامل توضیح دادند
اما من میخواهم در محیط وب این کار را انجام دهم c# aspx
ممنون میشم بازهم محبت کنید و راهنماییم بفرمایید
باتشکر فراوان
mehdi.mousavi
چهارشنبه 07 مهر 1389, 12:36 عصر
با تشکر از دو دوست عزیز که بطور کامل توضیح دادند اما من میخواهم در محیط وب این کار را انجام دهم C# aspx ممنون میشم بازهم محبت کنید و راهنماییم بفرمایید
باتشکر فراوان
سلام.
اگر چه توضیحاتی که دادم تحت وب نیز قابل اجراست، اما چیزی که شما دنبالشید احتمالا Ajax Timer Control هستش. این ویدئو (http://www.asp.net/ajax/videos/how-do-i-use-the-aspnet-ajax-timer-control) به شما نحوه استفاده از این Timer رو نشون میده.
موفق باشید.
پاورقی: لطفا از این پس سوال رو در بخش مناسب مطرح کنید. سوال شما به بخش ASP.NET منتقل شد.
alonemm
چهارشنبه 07 مهر 1389, 12:46 عصر
خب برای این کار یک گزینه در قسمت کنترل پنل هاست شما وجود داره که میتونی تعریف کنی که چه عملایاتی رو انجام بده.
اینو میتونی از قسمت کنترل پنل سایتت تشخیص بدی مثل در Cpanel گزینه jobs این کارو میکنه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.