我曾经在web api应用程序中实现同步操作,并且异步获取数据我在客户端部分使用 AJAX 从api操作中获取数据。
然后我读到async controller
,我需要知道渲染页面的生命周期
例如:
public async Task<ActionResult> PWGasync()
{
ViewBag.SyncType = "Asynchronous";
var widgetService = new WidgetService();
var prodService = new ProductService();
var gizmoService = new GizmoService();
var widgetTask = widgetService.GetWidgetsAsync();
await Task.Run(widgetTask);
var pwgVM = new ProdGizWidgetVM( widgetTask.Result );
return View("PWG", pwgVM);
}
视图是否会先获得数百,然后才会显示数据?
答案 0 :(得分:1)
视图是否会首先获得数百,然后才会显示数据?
没有。 async
不会更改HTTP协议。还有一个请求和一个响应。
异步和同步操作之间有什么区别?
async
操作允许请求线程在await
操作正在进行时返回到线程池。这样可以更好地利用线程池,从而实现更好的Web服务可伸缩性。