![](/img/trans.png)
[英]ASP.NET Web API 2 Async action methods with Task.Run performance
[英]Asp.net Web API | Document Upload Async await or Task.Run
我已經將ASP.NET Web API與公共ui網站集成在一起
該網站將有許多並發用戶提交應用程序,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。Async是一個更好的上傳過程
2。使用Task.Run(()=>UploadDocumentAsync());
3。async告訴調用者,我是一個異步方法,請不要等待我。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");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.