0

Windows フォーム アプリケーションにフォームがあり、データベースを繰り返しポーリングする必要があります。デッドロックや同様の問題を回避して、投票サービスでこの単純なフォームを作成する最良の方法は何ですか (Windows サービスは使用しません)。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    public PollingService(){
        // do some stuff every x seconds
    }
}

PS: レディコードを求めているわけではありません。これを整理する方法を知る必要があります。

4

1 に答える 1

1

それでもポーリングしたい場合は、これを試すことができます。タイマーを使用できます。

例:

    private Timer _dbCheckTimer;

    public void InitTimer()
    {
        _dbCheckTimer = new Timer();
        _dbCheckTimer.Elapsed += DBCheckTimer_Elapsed;
        _dbCheckTimer.Interval = 10000; // 10 seconds
        _dbCheckTimer.Start();
    }

    public void DisposeTimer()
    {
        _dbCheckTimer.Dispose();
    }

    void DBCheckTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        _dbCheckTimer.Stop();
        try
        {
            // check DB
        }
        finally
        {
            _dbCheckTimer.Start();
        }
    }
于 2013-09-16T08:02:57.140 に答える