MVC1006:包含 TagHelpers 的方法必须是异步的,并返回 Task。

价值
规则 ID MVC1006
修复是中断修复还是非中断修复 重大

原因

在一个同步执行的函数中定义了一个标记帮助程序 Razor

规则说明

标签助手的执行是异步的。 当在 Razor Page 内的方法或 lambda 表达式中使用时,必须将包含该函数的声明设为异步。

请考虑以下 cshtml 文件:

void Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

asp-controller 是标记帮助程序,将触发此规则。

如何修复违规行为

将函数声明为异步函数,并返回 Task:

async Task Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

何时禁止显示警告

不禁止显示此规则发出的警告。