考虑 ASP.Net Core 的 View 文件中的以下两行:
@Component.InvokeAsync("Greeting").Result
@await Component.InvokeAsync("Greeting")
有什么区别?在哪种情况下哪个更可取?在我的代码中,它们都给出了相同的视觉结果;是否存在结果可能不同的情况?
最佳答案
这两个调用很可能需要相同的时间返回,不同之处在于第一次调用会阻塞线程,而第二次调用会将线程返回到池中并允许它被另一个请求使用。本质上意味着当使用 await
关键字时,您的服务每秒可以处理更多请求。
尽可能使用await
来防止线程阻塞。做一些关于异步和等待的阅读 - https://learn.microsoft.com/en-us/dotnet/csharp/async
来自 MSDN - await
关键字是魔法发生的地方。它将控制权交给执行 await 的方法的调用者,并最终允许 UI 响应或服务具有弹性。
本质上,await
关键字将控制权交还给调用者,并将线程释放回线程池。
关于c# - ASP.Net Core Razor 组件 : await vs . 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50909963/