我正在尝试根据将被调用RequestFilter的信息来实现有条件地执行的。Service我想RequestFilter找到Service,查看它的方法/接口/属性,并根据它有条件地完成它的工作。
我知道您可以在RequestFilterAttribute上声明 a Service,但我想不出一个使它有条件的好方法。我想将委托/lambda 传递给属性,但 C# 不允许这样做。我可以在其中插入一个类型或类型名称,以便RequestFilterAttribute找到Service类/方法,但这似乎容易出现复制/粘贴错误。
所以我只需要某种方式RequestFilter来RequestFilterAttribute了解Service它的作用(或声明),然后想在其中查找一个方法,Service该方法将提供启用/禁用过滤器代码所需的逻辑。我不知道 IoC 容器的某些功能是否提供了此功能,或者是否有其他方法可以做到这一点。
然后,根据过滤器的执行方式,它可能需要返回自己的数据,从而阻止服务实际执行。这可能吗?(这就是答案吗?)