最近我决定删除控制器中的一堆动作级别过滤器,并用单个控制器级别过滤器替换它们。
现在我收到此错误消息。
激活 LogActionFilter 时出错 有多个匹配的绑定可用。 激活路径: 1) 请求 LogActionFilter 建议: 1) 确保您只为 LogActionFilter 定义了一次绑定。
我确定该错误与绑定两次的动作过滤器有关,因为这就是我所做的更改。但是,当我在这里查看文档时,我可以看到它指定/执行相同的操作。所以我真的不确定我做错了什么。
我的示例控制器
[LogAction]
public class SomeController : Controller
{
public ActionResult SomeAction()
{
}
}
我的注册码
public static void RegisterFilters()
{
Kernel.BindFilter<LogActionFilter>(FilterScope.Controller, 0)
.WhenControllerHas<LogActionAttribute>();
Kernel.BindFilter<LogActionFilter>(FilterScope.Action, 0)
.WhenActionMethodHas<LogActionAttribute>();
}