当前位置: 首页 > 知识库问答 >
问题:

在ViewComponent中:此异步方法缺少await运算符,将同步运行

龚睿
2023-03-14

在ViewComponent中,我得到了以下警告:(我使用了ASP.NET Core2)

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>

共有1个答案

公西鸿博
2023-03-14

方法中不使用任何异步调用(没有await),因此出现警告。viewcomponent有两个方法invokeasyncinvoke。当实现中没有异步调用时,应使用viewcomponent的同步版本(invoke):

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

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

 类似资料: