何时在Asp.Net Web应用程序(webform或mvc)中使用TaskFactory?

何时在Asp.Net Web应用程序(webform或mvc)中使用TaskFactory?,asp.net,async-await,task,Asp.net,Async Await,Task,我现在在WPF中工作…这里我们使用后台工作者、TaskFactory.StartNew函数和async/await 在web应用程序中,我知道我们有AJAX、MVC局部视图等 我的问题是,我们是否真的在Web应用程序中使用上述异步方法(任务、同步/等待)?如果我们使用,你能给我举几个例子吗 我的web应用程序中有一个文档生成模块,在该模块中,我必须从数据库中获取数据并从中创建文档。这是异步调用的好方案吗?(调用函数并抛出..而不关心它)。异步在您有磁盘/数据库/网络I/O的任何时候都很有用。它允

我现在在WPF中工作…这里我们使用后台工作者、TaskFactory.StartNew函数和async/await

在web应用程序中,我知道我们有AJAX、MVC局部视图等

我的问题是,我们是否真的在Web应用程序中使用上述异步方法(任务、同步/等待)?如果我们使用,你能给我举几个例子吗


我的web应用程序中有一个文档生成模块,在该模块中,我必须从数据库中获取数据并从中创建文档。这是异步调用的好方案吗?(调用函数并抛出..而不关心它)。

异步在您有磁盘/数据库/网络I/O的任何时候都很有用。它允许您在等待I/O完成时执行其他操作,这可以大大节省成本。异步对于正常的CPU操作来说并不是很有用,因为使其异步会增加开销

这在WPF和web应用程序中都适用

如果你想看一个具体的例子,Scott Hanselman有一篇题为“你可能会觉得很有趣”的博客文章

我现在在WPF中工作…这里我们使用后台工作者、TaskFactory.StartNew函数和async/await

您确实应该使用
Task.Run
而不是
BackgroundWorker
Task.Factory.StartNew
Task.Run
的默认值比
StartNew
好得多,并且比
BackgroundWorker
更具可组合性和类型安全性

我的问题是,我们是否真的在Web应用程序中使用上述异步方法(任务、同步/等待)

在ASP.NET上,您几乎不应该使用自己的后台线程(
BackgroundWorker
StartNew
Task.Run
)。但是,您当然可以使用
async
wait

如果我们使用,你能给我举几个例子吗?我的web应用程序中有一个文档生成模块,在该模块中,我必须从数据库中获取数据并从中创建文档

是的,这是基于I/O的操作的一个示例。“编写”文档也是如此——无论是上传到云存储还是本地文件系统

我在
async
ASP.NET上有一个你可能会觉得有用的