c# - DI : Injecting ActionFilterAttribute implementation (ASP. NET MVC)

标签 c# asp.net-mvc dependency-injection attributes ioc-container

我想知道是否可以使用 IoC 容器注入(inject)特定的 ActionFilterAttribute 实现。

例如,假设您创建了一个 TransactionAttribute[Transaction]

您可以使用它来装饰应包装在持久层事务中的操作。但是该属性的实现细节将与您使用的持久化技术相关联,严格来说,您的 Controller 不应该知道这一点,您可能希望将其换掉。

我想做的是定义某种TransactionAttribute 接口(interface),然后让我的 IoC 容器注入(inject)正确的实现。因此,在我的操作中,我只需要指定:

 [Transaction]
 public ActionResult SomeAction()
 {
     ....
 }

...并且 IoC 将根据配置注入(inject)正确的实现(例如 NHibernateTransactionAttributeSomeOtherORMTransactionAttribute)。

这可能吗?有人做过吗?

最佳答案

How do I use Windsor to inject dependencies into ActionFilterAttributes应该会让您了解如何实现这一目标。

关于c# - DI : Injecting ActionFilterAttribute implementation (ASP. NET MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843040/

相关文章:

c# - 如何使用 EnterpriseLibrary.Logging 登录 UTF-8

c# - 序列化时从 XML 中删除类型声明

c# - 在 List<T>.AddRange 中使用 Linq 查询有条件地将元素从一个列表添加到另一个列表

c# - 2 个参数中有一个返回 null

java - 如何将命名组件注入(inject) Dagger 2 中的子图中?

c# - 使用 C# 以编程方式从亚马逊购买商品

asp.net-mvc - ASP.NET 用户权限

asp.net - 防止访问者过度请求资源消耗页面的最佳方法是什么?

java - Guice:如何注入(inject)接口(interface)默认实现的实例?

java - 使用注释注入(inject)依赖项是否会消除依赖注入(inject)(外部配置)的主要好处?