0

新しい製品リストを取得するために、1分に1回サーバーリクエストを送信する必要があります(Web経由で変更された場合)。

だから、私は DispatcherTimer を使用しています

public static void Start()
    {
        if (timer != null) return;

        timer = new DispatcherTimer {Interval = TimeSpan.FromSeconds(0.1)};
        timer.Tick += Run;
        timer.Start();
    }

private static async void Run(object sender, EventArgs e)
    {
        timer.Interval = TimeSpan.FromSeconds(60); // TODO" add dynamic changes here
        timer.Stop();
        ** Do stuff
        timer.Start();
    }

ただし、更新を強制する必要がある場合があります。実行するのは正しいですか

public static void ForceUpdate()
    {
        Run(null, null);
    }

編集:つまり、Do stuffが十分に長い場合、タイマーを介して2回目に呼び出されませんか? それとも、この種の仕事には別のものを使用する必要がありますか?

4

2 に答える 2

0

ああ、まあ、それは非常に単純です

        public static void ForceUpdate()
        {
            timer.Stop();
            timer.Interval = TimeSpan.FromMilliseconds(10);
            timer.Start();
        }
于 2013-09-06T11:25:25.750 に答える
0

編集:最終更新時刻を格納する変数を挿入し、特定の間隔で更新が行われたかどうかを確認します。

于 2013-09-06T08:45:12.850 に答える