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