实现投票服务的最佳方式

时间:2013-09-16 07:21:45

标签: c# vb.net polling

我在Windows窗体应用程序中有一个表单,我需要重复轮询一个数据库。我在这里询问,在轮询服务中制作这个简单表单的最佳方法是什么,避免死锁和类似问题(我不会使用Windows服务)?

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

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

PS:我不是要求准备好代码。我只需要知道如何组织这个。

1 个答案:

答案 0 :(得分: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();
        }
    }
相关问题