2012-11-16 11 views
6

Có danh sách nhiệm vụ và lịch biểu của chúng. Nói Task1 - Hàng ngày 12 PM Task2 - Thứ Hai, Thứ Tư - 9 PM Muốn kích hoạt chúng theo lịch trình của chúng.Lắng nghe các sự kiện lên lịch công việc trong C#

Có thể đăng ký chúng với công cụ lên lịch hoặc một số bộ lập lịch biểu khác trong C# với ngữ cảnh duy nhất - id tác vụ. Và trên gọi lại (nói một số sự kiện), có thể nhận được nhiệm vụ từ bối cảnh và sử dụng taskid, tôi có thể kích hoạt các hành động.

Về cơ bản cần gọi lại khi thời gian đã lên lịch đã được đáp ứng với ngữ cảnh đã được thông qua. Và mã của tôi biết điều tốt nhất, những gì phải được thực hiện trong thời gian dự kiến ​​đó.

Trả lời

3

Tại sao bạn không thử sử dụng quartz.net. Id nhiệm vụ hỗ trợ lập lịch này và thậm chí cả ngữ cảnh lập kế hoạch. Ngoài ra còn có tài liệu tốt và rất nhiều ví dụ.

Dưới đây là ví dụ về tác vụ (còn gọi là Công việc), ngữ cảnh thực hiện được gửi từ bộ lập lịch biểu.

public class DumbJob : IJob 
{ 
    public DumbJob() { 
    } 

    public void Execute(JobExecutionContext context) 
    { 
     Console.WriteLine("DumbJob is executing."); 
    } 
} 

BTW đừng quên tạo lịch tĩnh - để tránh bị thu gom rác. Tôi đã gặp vấn đề này trước đây rồi.

+0

Cảm ơn Johnny đã trả lời. Dot thư viện net không cung cấp bất kỳ hỗ trợ bản địa ở đây? – KrishnaSrihari

+0

Có một cặp vợ chồng, như hẹn giờ và quầy, nhưng chúng không linh hoạt như thạch anh, và có rất nhiều khuyết điểm. Khi tôi gặp quatz.net lần đầu tiên, tôi đã refactored tất cả các dự án của tôi để sử dụng nó. Vẫn đang sử dụng =) –