複数のデバイスからデータを収集し、そのデータをローカルの SQLite データベースに保存する Windows フォーム アプリケーションがあります。次に、一定期間、新しいレコードを外部 Web サービスにアップロードする必要があります。つまり、「WasUploaded = 0」フィールドで新しいレコードを読み取り、アップロードしてから、成功時に「WasUploaded = 1」を設定する必要があります。今日、私はこれを 10 年前と同じ方法で行います。新しいバックグラウンド スレッドをフォークし、エンドレス サイクルを実行します。
while(true) 
{
   try
   {
        var newRecords = dbRepo.ReadNew(10);    // read 10 records at a time
        UploadToExternalWebservice(newRecords);
        foreach (var r in newRecords)
        {
            r.WasUploaded = 1;
        }
        dbRepo.CommitChanges(newRecords);
    } 
    catch (Exception ex)
    {
        Logger.LogError(ex);
    }
    Thread.Current.Sleep(15*1000);
}
しかし、私は疑問に思い始めました-これを行うためのより良い方法はありますか? ここで Tasks ライブラリを使用する価値はありますか?..何か他のものはありますか?
それが重要な場合、私は.Net 4.0を使用しています。
ありがとうございました。