如果只需要告知用戶,當您的應用程序處於活動狀態時,這可以通過輪詢來輕鬆完成,例如。你使用一個計時器,每秒或每秒滴答滴答。你要。在Timer.Elapsed
事件中,您可以輪詢數據庫中的日期並檢查其值。
因此,讓一個類:
public class CheckDbDate
{
private Timer _timer;
public event EventHandler DateReached;
public CheckDbDate()
{
_timer = new Timer();
_timer.Intervall = 500; //ms
_timer.Elapsed += (sender, e) => CheckDate();
_timer.Start();
}
public void CheckDate()
{
//Check your Database Date value
if (DateTime.Now.CompareTo(dbDate) >= 0)
{
DateReached?.Invoke(this, new EventArgs());
}
}
}
因此,在您MainApplication代碼,你必須instatiate一個CheckDbDate對象和認購DateReached事件。你可能需要使這個東西異步,因爲它會每隔500毫秒阻止你的用戶界面。
這是我認爲最簡單的方法。
如果應該在沒有運行應用程序的情況下通知他們。你應該考慮一個WindowsService(WCF)。