2013-09-16 2 views
0

У меня есть форма в приложении Windows Form, мне нужно повторно опросить базу данных. Я здесь, чтобы спросить, как лучше всего сделать эту простую форму в службе опроса, избегая тупиков и подобных проблем (я бы не использовал службу Windows)?Лучший способ реализовать опрос

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

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

PS: Я не прошу готового кода. Мне просто нужно знать, как это организовать.

+0

Что случилось с моим вопросом? O_o –

+0

«Служба уведомлений» MS Sql Server намного лучше, чем опрос БД. Ты знаешь это? – Alireza

+0

Alireza прав, использование какого-либо уведомления в реальном времени было бы лучше, чем опрос, он избегает большого количества ненужных накладных расходов. – Robert

ответ

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(); 
     } 
    } 
Смежные вопросы