非同步作業在網頁開發上的應用

舉例來說;如果我們的網站需要利用到 Web service 或 Web API 時,那就會有跨越網路資料延遲取得的問題,在這個時候就可以利用非同步作業的方式以改善執行的效能。

以 ASP.NET MVC網站為例
public async Task<ActionResult> DoAsync()
{
   ServiceClient.ServiceProxy = new ServiceClient();
   return View(“View名稱”, await ServiceProxy.GetDataAsync());
}


呼叫多個Web服務 / WCF服務 / HTTP服務
public async Task<ActionResult> DoAsync()
{
   ServiceClient ServiceProxy = new ServiceClient();
   ServiceClient1 ServiceProxy1 = new ServiceClient1();
   var task = ServiceProxy.GetDataAsync();
   var task1 = ServiceProxy1.GetDataAsync();
   await Task.WhenAll(task, task1);
   return View(“View名稱”, new DataModel(task.Result, task1.Result));
}

留言

這個網誌中的熱門文章

[C#]Windows 10 停用與啟用網路卡(連線)[手把手教程][原創]

ASP.NET Web API 將傳回的值轉換從控制器動作至 HTTP 回應訊息的方式。

[C#]程式更改電腦IP位置與電腦名稱