c# - ASP.Net Core Razor 组件 : await vs . 结果

标签 c# asp.net-mvc razor asp.net-core-mvc

考虑 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/

相关文章:

c# - ArangoDB 创建文档导致空插入

c# - 不使用 Microsoft.AspNet.Identity.EntityFramework 的自定义 Asp.net mvc 5 身份验证

jquery - 我如何使用 jquery 更改行的颜色?根据条件

c# - MVC ASP 3 表连接然后显示结果

javascript - 如何允许我的java脚本将相对URL解析为~/在razor View 中执行的操作

c# - 我的局部 View 每次都会导致我的应用程序崩溃

c# - 命名参数的规则是什么?为什么?

c# - 给定一个包含类名称的字符串,如何在 C# 中使用该类作为类型参数来调用泛型方法?

visual-studio-2010 - razor intellisense 不适用于 VS2010 for microsoft.web.helpers

c# - 使用数据库中的“选定”成员对组成员资格进行建模