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