当前位置: 代码迷 >> .NET分析设计 >> 如何做到延迟存储信息到数据库
  详细解决方案

如何做到延迟存储信息到数据库

热度:3866   发布时间:2013-02-25 00:00:00.0
怎么做到延迟存储信息到数据库
当一种操作对数据库操作时间可能过长,例如要用事务写数十个表的数据,让用户长时间等待不好,先验证后给用户一个操作成功的消息,然后把插入操作存入一个执行队列中,延迟存储。
.net是否有这样的解决方案?msmq可否?

------解决方案--------------------------------------------------------
可以放到一个后台线程,线程定时将数据存入到数据库中,例如timer,该线程对应用程序提供接口,应用程序只负责往线程里写东西,剩余的时候由线程来操作。
------解决方案--------------------------------------------------------
Backgroundworker worker =new Backgroundworker();
worker.DoWork+=new DoWorkEventHandler((sender,e)=>
{
//ToDo
//比如说提示前台用户:当前数据正在加载中....
//事务插入数据
});

worker.ProgressChanged+= new ProgressChangedEventHandler((sender,e)=>
{
//ToDo
});

worker.RunWorkerCompleted+=new RunWorkerCompletedEventHandler((sender,e)=>
{
//数据已加载完毕
});

实际上Backgroundworker完全可以解决你得问题。
------解决方案--------------------------------------------------------
用个定时器过一阵子再执行存储?
  相关解决方案