我想知道是否可以使用IoC容器注入特定的ActionFilterAttribute
实现。
例如,假设您创建了TransactionAttribute
类[Transaction]
您可以使用它来装饰应该包含在持久层中的事务中的操作。但是该属性的实现细节将与您正在使用的持久性技术相关联,严格来说,您的控制器不应该知道这一点,您可能想要将其交换出来。
我想做的是定义某种TransactionAttribute
接口,然后让我的IoC容器注入正确的实现。所以在我的行动中我只需要指定:
[Transaction]
public ActionResult SomeAction()
{
....
}
... IoC将根据配置注入正确的实现(例如NHibernateTransactionAttribute
或SomeOtherORMTransactionAttribute
)。
这可能吗?有人做过吗?
答案 0 :(得分:2)