ApiControllerAttribute 类失败,显示“用 ApiControllerAttribute 注释的控制器上的操作方法必须是属性路由。”

问题描述 投票:0回答:1

我的代码是这样的:

public class Controller
{

    public Controller( )
    {
        this.prepareAsync();
    }

    public virtual async Task prepareAsync(){

    }
    
    [HttpGet]
    public virtual async Task<IActionResult> AggregateAsync()
    {
    }
}

我在单元测试中模拟了一个虚拟方法来返回 prepareAsync 的输出。但是构建失败并出现错误 System.Reflection.TargetInvocationException:调用目标已抛出异常 ...prepareAsync 没有属性路由。用 ApiControllerAttribute 注释的控制器上的操作方法必须是属性路由。

有什么办法可以解决这个问题?将 prepareAsync 方法移动到另一个文件的唯一方法是什么?有没有我可以添加的标签来告诉构建 prepareAsync 只是一个辅助方法?

c# asp.net-apicontroller
1个回答
0
投票

为该[NonAction]

方法添加一个
prepareAsync
属性。

来自文档:

表示控制器方法不是操作方法。

© www.soinside.com 2019 - 2024. All rights reserved.