Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DI:注入ActionFilterAttribute实现(ASP.NET MVC)_C#_Asp.net Mvc_Dependency Injection_Attributes_Ioc Container - Fatal编程技术网

C# DI:注入ActionFilterAttribute实现(ASP.NET MVC)

C# DI:注入ActionFilterAttribute实现(ASP.NET MVC),c#,asp.net-mvc,dependency-injection,attributes,ioc-container,C#,Asp.net Mvc,Dependency Injection,Attributes,Ioc Container,我想知道是否可以使用IoC容器注入特定的ActionFilterAttribute实现 例如,假设您创建了一个TransactionAttribute类[Transaction] 您可以使用它来装饰应该包装在持久层事务中的操作。但是属性的实现细节将与您正在使用的持久性技术联系在一起,严格地说,您的控制器不应该知道这一点,您可能希望将其替换掉 我想做的是定义某种TransactionAttribute接口,然后让我的IoC容器注入正确的实现。因此,在我的行动中,我只需要指定: [Transact

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

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

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

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

 [Transaction]
 public ActionResult SomeAction()
 {
     ....
 }
…IoC将根据配置注入正确的实现(例如,类似于
NHibernateTransactionAttribute
,或
SomeOtherORMTransactionAttribute

这可能吗?有人做过吗?

应该会告诉你如何做到这一点