【发布时间】:2011-05-20 16:56:17
【问题描述】:
我和我的团队正在开发一个访问“巨大”数据库的应用程序,在 8 个月内大约有 3200 万行。该应用程序是 RIA 域服务应用程序。我们优化了应用程序和数据库设计,即使在资源非常有限的机器上,响应时间也不会超过几秒钟。
但是,需要对大型记录集(每个操作至少 2-3M 记录)执行某些任务。一个示例是生成月度报告。绝对不能让应用程序等待结果,因为它会达到 30 秒超时。
在阅读了post 之后,我想我可以创建一个 [Invoke] 方法,它会产生一个新线程,从而释放客户端。该线程将负责从数据库中提取数据并将它们很好地写入 PDF。我试图实现这个场景,但是我得到了一个异常,它说底层连接已经被释放了......
这种方法正确吗?我能实现我想要做的事情,还是有一些我无法克服的问题?有没有更好的方法来做到这一点?
干杯, 詹卢卡。
【问题讨论】:
标签: c# multithreading