非同步作業在網頁開發上的應用
舉例來說;如果我們的網站需要利用到 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));
}
留言
張貼留言