我目前正在开发WPF应用程序,其架构如下:
所以我的应用程序不会对数据库执行任何写操作(Zéro),它只读取数据并在UI上显示。
如何让我的应用程序快速响应数据库更改,我阅读了以下解决方案,但我很困惑,不知道该使用什么:
正如我所说,db每毫秒都会改变(来自其他来源的财务数据),
如何解决这个问题?
谢谢。
答案 0 :(得分:0)
public class MyViewModel
{
BackgroundWorker _bgWorker ;
//some props
//some funcs
protected internal MyViewModel(Session session)
{
Session = session;
RefreshData();
}
protected void RefreshData()
{
try
{
_bgWorker = new BackgroundWorker
{
WorkerReportsProgress = true,
WorkerSupportsCancellation = true
};
_bgWorker.DoWork += bgDoWork;
if (!_bgWorker.IsBusy)
{
_bgWorker.RunWorkerAsync();
}
}
catch (Exception)
{
_bgWorker.CancelAsync();
}
}
private void bgDoWork(object sender, DoWorkEventArgs e)
{
var worker = (BackgroundWorker)sender;
while (!worker.CancellationPending)
{
//Thread.Sleep(1000); should i keep this or not ?
Proxy(); // WCF calls
}
}
}