【问题标题】:How to repeat it at every X intervals?如何每隔 X 间隔重复一次?
【发布时间】:2015-10-12 08:18:31
【问题描述】:

在获取属性时,我正在检查 DNS 查找 但它只在启动时执行..如何每隔 X 间隔执行一次

 System.Net.IPHostEntry ipHe = System.Net.Dns.GetHostByName("www.google.com");
 return (@"Images/online.png");

【问题讨论】:

  • 我在“如何每隔 X 间隔执行一次”文本上进行了谷歌搜索,并得到了一堆好的结果。我建议您尝试一下,如果您在执行代码时遇到困难,请返回这里。
  • 但是这个在Get set property里面怎么办??

标签: c# wpf mvvm


【解决方案1】:

我在这里做了很多假设,但我假设您正在谈论保持 WPF 表单更新为具有自动刷新功能的“在线”状态?在 MVVM 模型中这样做。

如果这些假设是正确的,那么在您的视图模型中,您可以使用System.Timers.Timer,该System.Timers.Timer 将在您指定的任何Interval 处触发,并且它可以通过挂钩到其Elapsed 事件来执行您指定的任何方法。

public class ViewModel{

    private static System.Timers.Timer aTimer;

    public ViewModel()
    {
        aTimer = new Timer();
        aTimer.Interval = 2000; // every two seconds

        // Hookup to the elapsed event
        aTimer.Elapsed += DoWork;

        // Have the timer fire repeated events (true is the default)
        aTimer.AutoReset = true;

        // Start the timer
        aTimer.Enabled = true;
    }

    public void DoWork(Object source, System.Timers.ElapsedEventArgs e) { 
        //do work here
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多