Asp.net 网络接口 |文档上传异步等待或任务运行



我已经 asp.net 与公共UI网站集成的Web API

该网站将有许多并发用户提交应用程序,API将其拉取到数据库。

该 API 做了很多功能,例如:

  • 获取数据

  • 更新数据

  • 上传文件

我正在尝试使用异步操作(特别是在上传文档中(

我编辑了所有函数以使用 await Task.Run((=>bla((((喜欢这个:

if (Someconditions)
{
await Task.Run(() => Function1());
await Task.Run(() => Function2())
if (Someconditions)
await Task.Run(() => Function3())
if (Someconditions)
await Task.Run(() => CreateUpdateDocumentDetails)); // Uploading document

对于文档上传功能,我很困惑

我应该使用await UploadDocumentAsync()还是

Task.Run(()=>UploadDocumetSync()) or Task.Run(()=>UploadDocumentAsync())

另外,Task.Run(SyncFunc(((是否意味着上述所有函数都异步运行而不将它们标记为异步,这是好的做法吗?

最后一个问题这和制作所有功能(异步/等待(有什么区别

1 .这是一个更好的上传过程是异步的

阿拉伯数字。使用Task.Run(()=>UploadDocumentAsync());

3 .异步告诉调用者,我是一个异步方法,不要在 Task(( 中等待我.await 请求等待异步任务。

例如,运行下面的程序后将等待10秒钟以显示任务完成。

public static void Main(string[] args){
Task();
System.Console.WriteLine("main thread is running while waiting");
Console.ReadLine();
}
private static async void Task(){
await Task.Delay(10000);
Console.WriteLine("Waited for 10s");
}

最新更新