我在Windows窗体应用程序中有一个表单,我需要重复轮询一个数据库。我在这里询问,在轮询服务中制作这个简单表单的最佳方法是什么,避免死锁和类似问题(我不会使用Windows服务)?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public PollingService(){
// do some stuff every x seconds
}
}
PS:我不是要求准备好代码。我只需要知道如何组织这个。
答案 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();
}
}