gpt4 book ai didi

c# - 在 ViewComponent : This async method lacks 'await' operators and will run synchronously

转载 作者:行者123 更新时间:2023-12-05 00:47:41 26 4
gpt4 key购买 nike

在 ViewComponent 中,我收到了以下警告:(我用过 ASP.NET Core 2)

warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.

我该如何解决?

public class GenericReportViewComponent : ViewComponent
{
public GenericReportViewComponent()
{
}
public async Task<IViewComponentResult> InvokeAsync(GenericReportViewModel model)
{
return View(model);
}
}

更新:

在看来,我有 @await:

 <div class="container">
@await Component.InvokeAsync("GenericReport", new GenericReportViewModel() { })
</div>

最佳答案

您没有在方法中使用任何异步调用(没有 await),因此会出现警告。 ViewComponent 有 2 个方法 InvokeAsyncInvoke。当实现中没有异步调用时,您应该使用 ViewComponent 的同步版本(Invoke):

public class GenericReportViewComponent : ViewComponent
{
public IViewComponentResult Invoke(GenericReportViewModel model)
{
return View(model);
}
}

这里是关于同步工作的文档部分:https://learn.microsoft.com/en-us/aspnet/core/mvc/views/view-components?view=aspnetcore-2.2#perform-synchronous-work

关于c# - 在 ViewComponent : This async method lacks 'await' operators and will run synchronously,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56024226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com