【发布时间】:2012-11-01 18:46:49
【问题描述】:
我正在处理 ASP.NET 项目,昨天我看到一段代码使用 System.Threading.Thread 将一些任务卸载到新线程。该线程运行一些 SQL 语句并记录结果。
使用其他方法不是更好吗?例如,拥有一个执行 SQL 批处理的 Windows 服务。然后网页只会将批处理排入队列(通过 WCF)。
一般来说,ASP.NET 中多线程的最佳实践是什么?线程/TPL 任务/等的使用是否合理?在网页中?
【问题讨论】:
-
请解释为什么您认为在另一个进程中执行 SQL 查询会更好。
-
我主要关心的是为每个 Web 请求多处理一个线程。这有效地使线程加倍,我认为这不是一个好主意,尤其是当有很多并发用户时。可能最好将批处理参数写入表中,然后使用 SQL Server 作业执行实际查询。
标签: asp.net multithreading architecture