آرمان
آرمان
خواندن ۱ دقیقه·۵ سال پیش

صدا زدن یک function هر x دقیقه در c#

خوب برای این کار کافی از کد زیر استفاده کنید:


var startTimeSpan = TimeSpan.Zero; var periodTimeSpan = TimeSpan.FromMinutes(5); var timer = new System.Threading.Timer((e) => { MyMethod(); }, null, startTimeSpan, periodTimeSpan);


در این کد از Thread.Timer استفاده شده که در مثال بالا هر 5 دقیقه MyMethod اجرا میشود.

توجه داشته باشید که 3 نوع timer در C# داریم:

1- System.Windows.Forms.Timer

که فقط در ویندوز فرم استفاده میشود.

2- System.Timers.Timer

هنگامی که به synchronicity (همزمانی) نیاز دارید ، از این یکی استفاده کنید.

3- System.Threading.Timer

این به شما امکان می دهد عملیات را در پس زمینه انجام دهید بدون انجماد GUI یا نخ اصلی.

برای اطلاع بیشتر اینجا کلیک کنید


نکته ای که وجود دارد اینکه تایمر برای کار های کوچک هست مثلا چک کردن یک شرط . برای اجرای دستورات زمانبندی شده مثلا ارسال ایمیل هر روز ساعت 24 و... باید از کتابخانه های مخصوص این کار یا jobScheduler سی شارپ استفاده کنید

منبع stackoverflow


stackoverflowc#timer
یک برنامه نویس که هرآنچه را که یاد میگیرد در دفترچه یادداشت ویرگولیش یادداشت میکرد(!) حتی یک خط ! تا درصورت نیاز به آن رجوع کند...
شاید از این پست‌ها خوشتان بیاید