如何从网页后台运行缓慢的数据库任务?

本文关键字:数据库 任务 缓慢 运行 网页 后台 | 更新日期: 2023-09-27 18:14:32

我需要从网页调用一个非常慢的数据库方法。似乎我有很多选择,从使用BackgroundWorker, Task.Run()和Thread.Start()

哪个最适合我的场景?

目前我有:

Task.Run(() =>
{
    using (DAL.StatsDAL data = new DAL.StatsDAL()) 
    {
        data.UpdateStatistics(entryID, entryTtype);
    }
});

我不需要这个结果(目前),但我只需要"解雇和忘记"。此外,我猜在这个线程上发生的任何潜在的错误消息都不会被我的异常处理程序(ELMAH)捕获,因为HttpContext可能已经消失了?

编辑:这是ASP。. NET WebForms 4.5.1.

编辑2:我希望任务在大约1秒(最多)内完成,所以我真的只是试图避免每次用户单击页面之间的1秒延迟

如何从网页后台运行缓慢的数据库任务?

你会做很多,你真的想看看。net 4.5中的async/await

https://msdn.microsoft.com/en-us/library/hh191443.aspx