我正在将Mvc Web应用程序从netfw 4.8迁移到net5,但我有部分视图:
@model List<ChatMessage>
foreach (var msg in Model)
{
Html.RenderPartial("RenderChatMessage", msg);
}
Visual Studio通知我,我可能想将其更改为await Html.RenderPartialAsync
。我的问题是-我应该这样做吗?我仍然迷失在异步编程中。我在其他地方也遵循了此建议,但在这里我会循环使用await
,而且我读过一般来说并不是一个好主意。
答案 0 :(得分:1)
我的问题是-我应该这样做吗?
答案是肯定的。
我们使用RenderPartialAsync渲染局部视图。此方法不返回IHtmlContent
。它将渲染的输出直接流式传输到响应。由于RenderPartialAsync
流呈现的内容,因此在某些情况下可以提供更好的性能。在对性能有严格要求的情况下,请同时使用这两种方法对页面进行基准测试,并使用能够产生更快响应的方法。
Partial
和RenderPartial
分别是PartialAsync
和RenderPartialAsync
的同步等价物。不建议使用同步等效项,因为在某些情况下它们会死锁。 同步方法的目标是在将来的版本中删除。
同步渲染时会发生什么...