gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:11 24 4
gpt4 key购买 nike

我想知道是否可以使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com